采用斜体的形式完善译者注 (#733)

* 增加示例函数的注释

* 采用斜体完善注解内容
This commit is contained in:
max-workspace
2019-11-01 14:11:28 +08:00
committed by Unknwon
parent cd294e0f30
commit 2476ea9806
3 changed files with 23 additions and 0 deletions

View File

@@ -81,6 +81,14 @@ import ("fmt"; "os")
如果包名不是以 `.``/` 开头,如 `"fmt"` 或者 `"container/list"`,则 Go 会在全局文件进行查找;如果包名以 `./` 开头,则 Go 会在相对目录中查找;如果包名以 `/` 开头(在 Windows 下也可以这样使用),则会在系统的绝对路径中查找。 如果包名不是以 `.``/` 开头,如 `"fmt"` 或者 `"container/list"`,则 Go 会在全局文件进行查找;如果包名以 `./` 开头,则 Go 会在相对目录中查找;如果包名以 `/` 开头(在 Windows 下也可以这样使用),则会在系统的绝对路径中查找。
*译者注以相对路径在GOPATH下导入包会产生报错信息*
*报错信息local import "./XXX" in non-local package*
*引用:[Go programs cannot use relative import paths within a work space.](https://golang.org/cmd/go/#hdr-Relative_import_paths )*
*注解在GOPATH外可以以相对路径的形式执行go buildgo install 不可以)*
导入包即等同于包含了这个包的所有的代码对象。 导入包即等同于包含了这个包的所有的代码对象。
除了符号 `_`,包中所有代码对象的标识符必须是唯一的,以避免名称冲突。但是相同的标识符可以在不同的包中使用,因为可以使用包名来区分它们。 除了符号 `_`,包中所有代码对象的标识符必须是唯一的,以避免名称冲突。但是相同的标识符可以在不同的包中使用,因为可以使用包名来区分它们。

View File

@@ -229,6 +229,14 @@ v := make([]int, 10, 50)
**问题 7.3** 给定 `s := make([]byte, 5)`len(s) 和 cap(s) 分别是多少?`s = s[2:4]`len(s) 和 cap(s) 又分别是多少? **问题 7.3** 给定 `s := make([]byte, 5)`len(s) 和 cap(s) 分别是多少?`s = s[2:4]`len(s) 和 cap(s) 又分别是多少?
**问题 7.4** 假设 `s1 := []byte{'p', 'o', 'e', 'm'}``s2 := s1[2:]`s2 的值是多少?如果我们执行 `s2[1] = 't'`s1 和 s2 现在的值又分别是多少? **问题 7.4** 假设 `s1 := []byte{'p', 'o', 'e', 'm'}``s2 := s1[2:]`s2 的值是多少?如果我们执行 `s2[1] = 't'`s1 和 s2 现在的值又分别是多少?
*译者注如何理解new、make、slice、map、channel的关系*
*1.slice、map以及channel都是golang内建的一种引用类型三者在内存中存在多个组成部分
需要对内存组成部分初始化后才能使用而make就是对三者进行初始化的一种操作方式*
*2. new 获取的是存储指定变量内存地址的一个变量,对于变量内部结构并不会执行响应的初始化操作,
所以slice、map、channel需要make进行初始化并获取对应的内存地址而非new简单的获取内存地址*
## 7.2.5 多维 切片 ## 7.2.5 多维 切片
和数组一样,切片通常也是一维的,但是也可以由一维组合成高维。通过分片的分片(或者切片的数组),长度可以任意动态变化,所以 Go 语言的多维切片可以任意切分。而且,内层的切片必须单独分配(通过 make 函数)。 和数组一样,切片通常也是一维的,但是也可以由一维组合成高维。通过分片的分片(或者切片的数组),长度可以任意动态变化,所以 Go 语言的多维切片可以任意切分。而且,内层的切片必须单独分配(通过 make 函数)。

View File

@@ -33,6 +33,13 @@ func main() {
fmt.Println(x) // 100000, ongeveer 1,5 s fmt.Println(x) // 100000, ongeveer 1,5 s
} }
``` ```
*译者注原本认为leftmost的结果为1认为只在最初做了一次赋值实际结果为100000无缓存信道具有同步阻塞的特性*
*1.主线程的right <- 0right不是最初循环的那个right而是最终循环的right*
*2.for循环中最初的go f(left, right)因为没有发送者一直处于等待状态*
*3.当主线程的right <- 0执行时类似于递归函数在最内层产生返回值一般*
## 链接 ## 链接