* refactor: merge image directories into one
```bash
git mv -v images/* eBook/images/
sed -i -e 's;../images;images;g' eBook/*.md
```
* use correct chapter number for image names in 4.9
* use correct chapter number for image names in 7.2.4
* 翻译建议
英文原著:
> the same operator <- is used for sending and receiving, but Go figures out depending on the operands what to do. Although not necessary, for readability the channel name usually starts with ch or contains ‘chan’. The channel send- and receive operations are atomic: they always complete without interruption.The use of the communication operator is illustrated in example
原译文:
>操作符 <- 也被用来发送和接收,Go 。尽管不必要,为了可读性,通道的命名通常以 ch 开头或者包含 chan。通道的发送和接收操作都是自动的:它们通常一气呵成。下面的示例展示了通信操作。
我的建议:
>同一个操作符 `<-` 既用于**发送**也用于**接收**,但Go会根据操作对象弄明白该干什么 。虽非强制要求,但为了可读性通道的命名通常以 `ch` 开头或者包含 `chan`。通道的发送和接收都是原子操作:它们总是互不干扰的完成的。下面的示例展示了通信操作的使用。
* 补个“符”字
* typical -> 典型
* 翻译建议
* Update 14.2.md
* Update 14.2.md
* Update 14.2.md
* 建议从翻译上调转了一下英文原著解释中的因果顺序
英文原著:
> Notice the use of the closure: the current i, xi are passed to the closure as parameters, masking the i, xi variables from the outer for-loop. This allows each goroutine to have its own copy of i, xi; otherwise, the next iteration of the for-loop would update i, xi in all goroutines. On the other hand, the res slice is not passed to the closure, since each goroutine does not need a separate copy of it. The res slice is part of the closure’s environment but is not a parameter
原译文:
>注意闭合:i、xi 都是作为参数传入闭合函数的,从外层循环中隐藏了变量 i 和 xi。让每个协程有一份 i 和 xi 的拷贝;另外,for 循环的下一次迭代会更新所有协程中 i 和 xi 的值。切片 res 没有传入闭合函数,因为协程不需要单独拷贝一份。切片 res 也在闭合函数中但并不是参数。
我的建议:
>注意上述代码中闭合函数的用法:`i`、`xi` 都是作为参数传入闭合函数的,这一做法使得每个协程有一份 `i` 和 `xi` 的拷贝,从而向闭合函数内部隐藏了外层循环中的变量 `i` 和 `xi`;否则,for 循环的下一次迭代会更新所有协程中 `i` 和 `xi` 的值。另一方面,切片 `res` 没有传入闭合函数,因为协程不需要`res`的单独拷贝。切片 `res` 也在闭合函数中但并不是参数。
* 增加了译者注和一些用词调整
the original words are :
A channel type may be annotated to specify that it may only send or only receive in certain code:
var send_only chan<- int // channel can only receive data
var recv_only <-chan int // channel can only send data
* update "tw-way pipe" to "tow-way pipe"
update "tw-way pipe" to "tow-way pipe"
* update "tw-way pipe" to "two-way pipe"
update "tw-way pipe" to "two-way pipe" and not "tow....." lol~~