《Go 程序员面试笔试宝典》勘误表 #
请直接搜索对应的页面,如“第 255 页”,查看该页面的勘误内容。
第 V 页 #
- typo
4.3 通道的底结构 -> 通道的
底层
结构。
第 9 页 #
- 多了一个逗号
- 少了一个括号
第 13 页 #
- 调用 deferproc 函数
第 27 页 #
- 形参是实参的一个复制
第 32 页 #
- s/hamp/hmap
第 35 页 #
- 返回 value 类型的零值
第 64 页 #
- 图 4-3 描述有误
第 73 页 #
- 示例代码和运行结果修正
示例代码:
|
|
运行结果:
|
|
- 图中变量标注有误:
第 76 页 #
- IsClosed 函数返回 false
第 89 页 #
- 多余的“个”
第 112 页 #
- 当 n==5 时,描述有问题
第 113 页 #
- context 包代码结构功能表格描述有问题
第 117 页 #
第 122 页 #
- 多了一个 String 方法的代码
第 131 页 #
- 去掉多余的描述
第 132 页 #
第 141 页 #
- 有关 interface 的章节说明有误
第 174 页 #
- 图标注有误
第 186 页 #
- 关于 M 的描述有误:
上面红框内的这两段话替换为:
Go 调度循环可以看成是一个“生产-消费”的流程。
生产端就是我们写的 go func()…语句,它会产生一个 goroutine。消费者是 M,所有的 M 都是在不断地执行调度循环:找到 runnable 的 goroutine 来运行,运行完了就去找下一个 goroutine……
P 的个数是固定的,它等于 GOMAXPROCS 个,进程启动的时候就会被全部创建出来。随着程序的运行,越来越多的 goroutine 会被创建出来。这时,M 也会随之被创建,用于执行 goroutine,M 的个数没有一定的规律,视 goroutine 情况而定。
- 多了个“不”字
第 191 页 #
- memory 拼写错误
第 192 页 #
- s/_Grunnale/_Grunnable
第 211 页 #
- 图 12-19 m0 标识错误
第 235 页 #
- notewakeup 唤醒
第 240 页 #
- 12.14.1 小节中,“这时和 P 绑定的 G 正在进行系统调用,无法执行其他的 G” 更改为 “这时和 P 绑定的 M 正在进行系统调用,无法执行其他的 G”
第 255 页 #
- 图 13-3 标识错误,如下图
第 258 页 #
- 表 13-1 不同等级的浪费”下方算式错误
第 298 页 #
- GC 时间降到 300us
第 306 页 #
- 图 14-19 标识错误
最后更新:2024.12.18