修正一些小错误和语言不通顺的地方 (#274)

* Update 07.3.md

* Update 07.3.md

* Update 07.6.md

* fix few problems
This commit is contained in:
王耀
2016-08-25 11:45:39 +08:00
committed by 无闻
parent d40ca54c10
commit 6e9d78dac9
5 changed files with 15 additions and 15 deletions

View File

@@ -72,9 +72,9 @@ map 的初始化:`var map1[keytype]valuetype = make(map[keytype]valuetype)`。
或者简写为:`map1 := make(map[keytype]valuetype)`
上面例子中的 mapCreated 就是用这种方式创建的:`mapCreated := make(map[string]float)`
上面例子中的 mapCreated 就是用这种方式创建的:`mapCreated := make(map[string]float32)`
相当于:`mapCreated := map[string]float{}`
相当于:`mapCreated := map[string]float32{}`
mapAssigned 也是 mapList 的引用,对 mapAssigned 的修改也会影响到 mapLit 的值。
@@ -83,12 +83,12 @@ mapAssigned 也是 mapList 的引用,对 mapAssigned 的修改也会影响到
**注意** 如果你错误的使用 new() 分配了一个引用对象,你会获得一个空引用的指针,相当于声明了一个未初始化的变量并且取了它的地址:
```go
mapCreated := new(map[string]float)
mapCreated := new(map[string]float32)
```
接下来当我们调用:`mapCreated["key1"] = 4.5` 的时候,编译器会报错:
invalid operation: mapCreated["key1"] (index of type *map[string]float).
invalid operation: mapCreated["key1"] (index of type *map[string]float32).
为了说明值可以是任意类型的,这里给出了一个使用 `func() int` 作为值的 map
@@ -115,7 +115,7 @@ func main() {
和数组不同map 可以根据新增的 key-value 对动态的伸缩,因此它不存在固定长度或者最大限制。但是你也可以选择标明 map 的初始容量 `capacity`,就像这样:`make(map[keytype]valuetype, cap)`。例如:
```go
map2 := make(map[string]float, 100)
map2 := make(map[string]float32, 100)
```
当 map 增长到容量上限的时候,如果再增加新的 key-value 对map 的大小会自动加 1。所以出于性能的考虑对于大的 map 或者会快速扩张的 map即使只是大概知道容量也最好先标明。

View File

@@ -118,7 +118,7 @@ init 函数是不能被调用的。
**编译并安装一个包(参见第 9.7 节):**
在 Linux/OS X 下可以用类似第 4.3 节的 Makefile 脚本做到这一点:
在 Linux/OS X 下可以用类似第 3.9 节的 Makefile 脚本做到这一点:
include $(GOROOT)/src/Make.inc
TARG=pack1
@@ -127,7 +127,7 @@ init 函数是不能被调用的。
pack1b.go\
include $(GOROOT)/src/Make.pkg
确保的它可执行性通过 `chmod 777 ./Makefile`
通过 `chmod 777 ./Makefile`确保它的可执行性
上面脚本内的include语引入了相应的功能将自动检测机器的架构并调用正确的编译器和链接器。

View File

@@ -4,7 +4,7 @@ godoc工具第 3.6 节)在显示自定义包中的注释也有很好的效
例如:
- 在 do_examples 目录下我们有第 11.7 节中的用来排序的 go 文件,文件中有一些注释(文件需要未编译)
- 在 doc_examples 目录下我们有第 11.7 节中的用来排序的 go 文件,文件中有一些注释(文件需要未编译)
- 命令行下进入目录下并输入命令:
godoc -http =:6060 -goroot="."

View File

@@ -66,12 +66,12 @@ func TestUC(t *testing.T) {
}
```
通过指令编译并安装包到本地:`go install src/uc`, 这会将 uc.a 复制到 pkg/linux_amd64 下面。
通过指令编译并安装包到本地:`go install uc`, 这会将 uc.a 复制到 pkg/linux_amd64 下面。
另外,使用 make,通过以下内容创建一个包的 Makefile(1) 在 src/uc 目录下:
另外,使用 make 通过以下内容创建一个包的 Makefile(1) 在 src/uc 目录下:
```
include $GOROOT/src/Make.inc
include $(GOROOT)/src/Make.inc
TARG=uc
GOFILES=\
@@ -114,12 +114,12 @@ func main() {
另外复制 uc.a 到 uc 目录并创建一个 Makefile(2) 并写入文本:
```
include $GOROOT/src/Make.inc
include $(GOROOT)/src/Make.inc
TARG=ucmain
GOFILES=\
ucmain.go\
include $GOROOT/src/Make.cmd
include $(GOROOT)/src/Make.cmd
```
执行 gomake 编译 `ucmain.go` 成可执行文件ucmain

View File

@@ -38,7 +38,7 @@ git push -u origin master
也可以将其缩写为:`import uc "github.com/NNNN/uc"`
然修改 Makefile: 将 `TARG=uc` 替换为 `TARG-github.com/NNNN/uc`
修改 Makefile: 将 `TARG=uc` 替换为 `TARG-github.com/NNNN/uc`
Gomake和 go install将通过 `$GOPATH` 下的本地版本进行工作。
@@ -49,7 +49,7 @@ Gomake和 go install将通过 `$GOPATH` 下的本地版本进行工作。
- Google Code(hg/Git/svn)
- Launchpad(bzr)
版本控制系统可以选择你熟悉的或者本地使用的代码版本控制。Go 核心代码的仓库是使用 Mercurial(hg) 来控制的所以它是一个最可能保证你可以得到开发者项目中最好的软件。Git 也很出名,同样也适用。如果你从未使用过版本控制,这些网站有一些很好的帮助并且你可以通过在谷歌搜索 "{name} tutorial",其中 name 为你想要使用的版本控制系统得到许多很好的教程。
版本控制系统可以选择你熟悉的或者本地使用的代码版本控制。Go 核心代码的仓库是使用 Mercurial(hg) 来控制的所以它是一个最可能保证你可以得到开发者项目中最好的软件。Git 也很出名,同样也适用。如果你从未使用过版本控制,这些网站有一些很好的帮助并且你可以通过在谷歌搜索 "{name} tutorial",其中 name 为你想要使用的版本控制系统得到许多很好的教程。
## 链接