{"version":1,"pages":[{"id":"rhbGC11f9x1JhycuNthL","title":"介绍","pathname":"/mastering-go-zh-cn","siteSpaceId":"sitesp_Skryb","description":""},{"id":"-LW1DHFe50JkyXry0TI4","title":"[0 前言]","pathname":"/mastering-go-zh-cn/0-qian-yan","siteSpaceId":"sitesp_Skryb","description":""},{"id":"-LW1DHFf7WVCWAyeSD81","title":"00.1 前言","pathname":"/mastering-go-zh-cn/0-qian-yan/00.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[0 前言]"}]},{"id":"-LYqheUW2Pw_BMLIXWoT","title":"00.2 面向读者","pathname":"/mastering-go-zh-cn/0-qian-yan/00.2-mian-xiang-du-zhe","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[0 前言]"}]},{"id":"-LW1DHFhyaOboZ-GessH","title":"00.3 章节概览","pathname":"/mastering-go-zh-cn/0-qian-yan/00.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[0 前言]"}]},{"id":"-LW1DHFi5Y6WilGJ_sqO","title":"00.4 更多信息","pathname":"/mastering-go-zh-cn/0-qian-yan/00.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[0 前言]"}]},{"id":"-LW1DHFj0UfN-ly9vzjY","title":"00.4.1 代码规范约定","pathname":"/mastering-go-zh-cn/0-qian-yan/00.4/00.4.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[0 前言]"},{"label":"00.4 更多信息"}]},{"id":"-LW1DHFk3BJLE3taEyYJ","title":"[1 Go与操作系统]","pathname":"/mastering-go-zh-cn/1-go-yu-cao-zuo-xi-tong","siteSpaceId":"sitesp_Skryb","description":""},{"id":"-LW1DHFl9KXjfyAPMRjI","title":"01.1 本书结构","pathname":"/mastering-go-zh-cn/1-go-yu-cao-zuo-xi-tong/01.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[1 Go与操作系统]"}]},{"id":"-LW1DHFmEY8VW6NcQNjN","title":"01.2 Go的历史","pathname":"/mastering-go-zh-cn/1-go-yu-cao-zuo-xi-tong/01.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[1 Go与操作系统]"}]},{"id":"-LW1DHFnQAkL-Q5sVxMV","title":"01.3 为什么是Go","pathname":"/mastering-go-zh-cn/1-go-yu-cao-zuo-xi-tong/01.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[1 Go与操作系统]"}]},{"id":"-LW1DHFoVNE1Vo1mbCN7","title":"01.4 Go的优点","pathname":"/mastering-go-zh-cn/1-go-yu-cao-zuo-xi-tong/01.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[1 Go与操作系统]"}]},{"id":"-LW1DHFphA5rVEKYhk1U","title":"01.4.1 Go是完美的么","pathname":"/mastering-go-zh-cn/1-go-yu-cao-zuo-xi-tong/01.4/01.4.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[1 Go与操作系统]"},{"label":"01.4 Go的优点"}]},{"id":"-LW1FeLayy4lG1sifJpN","title":"[2 Go内部机制]","pathname":"/mastering-go-zh-cn/2-go-nei-bu-ji-zhi","siteSpaceId":"sitesp_Skryb","description":""},{"id":"-LW1FeLbuv0A1koOH15Q","title":"02.1 本章概述","pathname":"/mastering-go-zh-cn/2-go-nei-bu-ji-zhi/02.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[2 Go内部机制]"}]},{"id":"-LW1FeLcHiQDaXXY5j1y","title":"02.2 编译器","pathname":"/mastering-go-zh-cn/2-go-nei-bu-ji-zhi/02.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[2 Go内部机制]"}]},{"id":"-Lm_EAfXSQP0chWQkzZX","title":"02.3 垃圾回收","pathname":"/mastering-go-zh-cn/2-go-nei-bu-ji-zhi/02.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[2 Go内部机制]"}]},{"id":"-Lm_EAfYdOJ09jAVuUHM","title":"02.3.1 三色算法","pathname":"/mastering-go-zh-cn/2-go-nei-bu-ji-zhi/02.3/02.3.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[2 Go内部机制]"},{"label":"02.3 垃圾回收"}]},{"id":"-Lm_EAfZ5_gwga34PVGn","title":"02.3.2 垃圾回收器背后的更多操作","pathname":"/mastering-go-zh-cn/2-go-nei-bu-ji-zhi/02.3/02.3.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[2 Go内部机制]"},{"label":"02.3 垃圾回收"}]},{"id":"-Lm_EAf_L0z5GFtiP1Ow","title":"02.3.3 Unsafe code","pathname":"/mastering-go-zh-cn/2-go-nei-bu-ji-zhi/02.3/02.3.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[2 Go内部机制]"},{"label":"02.3 垃圾回收"}]},{"id":"-Lm_EAfaGHcV0r-_dH55","title":"02.3.4 关于unsafe包","pathname":"/mastering-go-zh-cn/2-go-nei-bu-ji-zhi/02.3/02.3.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[2 Go内部机制]"},{"label":"02.3 垃圾回收"}]},{"id":"-Lm_EAfbEMHtuqk-HKxj","title":"02.3.5 另一个usafe包的例子","pathname":"/mastering-go-zh-cn/2-go-nei-bu-ji-zhi/02.3/02.3.5","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[2 Go内部机制]"},{"label":"02.3 垃圾回收"}]},{"id":"-LWxg1W01Cw_vWLi8W73","title":"02.5 C中调用Go函数","pathname":"/mastering-go-zh-cn/2-go-nei-bu-ji-zhi/02.5","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[2 Go内部机制]"}]},{"id":"-LWxg1W1JGBv-vE6fLnA","title":"02.5.1 Go Package","pathname":"/mastering-go-zh-cn/2-go-nei-bu-ji-zhi/02.5/02.5.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[2 Go内部机制]"},{"label":"02.5 C中调用Go函数"}]},{"id":"-LWxg1W2rz2TQI7pnFUI","title":"02.5.2 C代码","pathname":"/mastering-go-zh-cn/2-go-nei-bu-ji-zhi/02.5/02.5.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[2 Go内部机制]"},{"label":"02.5 C中调用Go函数"}]},{"id":"-LYqheUlXX16HfP83cDS","title":"02.6 defer关键字","pathname":"/mastering-go-zh-cn/2-go-nei-bu-ji-zhi/02.6","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[2 Go内部机制]"}]},{"id":"-Lctr8VVF7VlWqFo5pMQ","title":"02.7 Panic和Recover","pathname":"/mastering-go-zh-cn/2-go-nei-bu-ji-zhi/02.7","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[2 Go内部机制]"}]},{"id":"-LW1FeLdj8vEUtvaa5eQ","title":"[3 Go基本数据类型]","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing","siteSpaceId":"sitesp_Skryb","description":""},{"id":"-L_bq4Y-lWX8n3-tfmW6","title":"03.1 Go循环","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"}]},{"id":"-L_bq4Y0UqUgpj5xsYQ2","title":"03.1.1 for循环","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.1/03.1.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.1 Go循环"}]},{"id":"-L_bq4Y1bROGA4yZo8eY","title":"03.1.2 while循环","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.1/03.1.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.1 Go循环"}]},{"id":"-L_bq4Y2E_ZkZGQVY2P-","title":"03.1.3 range关键字","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.1/03.1.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.1 Go循环"}]},{"id":"-L_bq4Y3SY3ftPuv0OKc","title":"03.1.4 for循环代码示例","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.1/03.1.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.1 Go循环"}]},{"id":"-LW1FeLekxfbQZ_5zz7o","title":"03.3 Go切片","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"}]},{"id":"-LW1FeLfKLkk7Aiyt0xP","title":"03.3.1 切片基本操作","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.3/03.3.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.3 Go切片"}]},{"id":"-LW1FeLgLVmSQ1l36I58","title":"03.3.2 切片的扩容","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.3/03.3.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.3 Go切片"}]},{"id":"-LW1FeLhtOdNWi-LdzYn","title":"03.3.3 字节切片","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.3/03.3.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.3 Go切片"}]},{"id":"-LW1FeLioQxHR7ilNOK6","title":"03.3.4 copy()函数","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.3/03.3.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.3 Go切片"}]},{"id":"-LW1FeLj-PqwBmg6k0J8","title":"03.3.5 多维切片","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.3/03.3.5","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.3 Go切片"}]},{"id":"-LW1FeLkn3LLYieU0jgx","title":"03.3.6 使用切片的代码示例","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.3/03.3.6","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.3 Go切片"}]},{"id":"-LW1FeLlejUYQ1U3Ah51","title":"03.3.7 使用sort.Slice()排序","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.3/03.3.7","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.3 Go切片"}]},{"id":"-LW1FeLmyJzkTn5Ei9wc","title":"03.4 Go 映射(map)","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.4-go-ying-she-map","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"}]},{"id":"-LW1FeLnoy3x99np-Pvo","title":"03.4.1 Map值为nil的坑","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.4-go-ying-she-map/03.4.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.4 Go 映射(map)"}]},{"id":"-LW1FeLoMZrI31fqPoMs","title":"03.4.2 何时该使用Map?","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.4-go-ying-she-map/03.4.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.4 Go 映射(map)"}]},{"id":"-LW1FeLpZ3MrqsPagqoM","title":"03.5 Go 常量","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.5","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"}]},{"id":"-LW1FeLq97cMTr28WNfC","title":"03.5.1 常量生成器：iota","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.5/03.5.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.5 Go 常量"}]},{"id":"-LW1FeLr3I870NVpRWry","title":"03.6 Go 指针","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.6","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"}]},{"id":"-LW1FeLsy-W8s3dOtYAv","title":"03.7 时间与日期的处理技巧","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.7","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"}]},{"id":"-LW1FeLt7_q6Tuw1mXZB","title":"03.7.1 解析时间","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.7/03.7.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.7 时间与日期的处理技巧"}]},{"id":"-LW1FeLuFF8nAaFvw-Ya","title":"03.7.2 解析时间的代码示例","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.7/03.7.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.7 时间与日期的处理技巧"}]},{"id":"-LW1FeLvz8yxLWzx7pvY","title":"03.7.3 解析日期","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.7/03.7.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.7 时间与日期的处理技巧"}]},{"id":"-LW1FeLw_LZNuWRlwto1","title":"03.7.4 解析日期的代码示例","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.7/03.7.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.7 时间与日期的处理技巧"}]},{"id":"-LW1FeLxiJlLRKWmOJy7","title":"03.7.5 格式化时间与日期","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.7/03.7.5","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"},{"label":"03.7 时间与日期的处理技巧"}]},{"id":"-LWxg1WOEtTudytFx9Kx","title":"03.8 延伸阅读","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.8","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"}]},{"id":"-LWxg1WPxCZp9lJoUkV1","title":"03.9 练习","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.9","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"}]},{"id":"-LWxg1WQtgNHMqWux-lW","title":"03.10 本章小结","pathname":"/mastering-go-zh-cn/3-go-ji-ben-shu-ju-lei-xing/03.10","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[3 Go基本数据类型]"}]},{"id":"-LWxg1WSVa1WtjqOOs7z","title":"4 组合类型的使用","pathname":"/mastering-go-zh-cn/04.0","siteSpaceId":"sitesp_Skryb","description":""},{"id":"-LWxg1W_9_vq9tknOtNq","title":"04.1 关于组合类型","pathname":"/mastering-go-zh-cn/04.0/04.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"}]},{"id":"-LWxg1WaNJ0DpiBhksLy","title":"04.2 结构体","pathname":"/mastering-go-zh-cn/04.0/04.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"}]},{"id":"-LWxg1WbqJs5Ruo8Wk95","title":"04.2.1 结构体指针","pathname":"/mastering-go-zh-cn/04.0/04.2/04.2.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"},{"label":"04.2 结构体"}]},{"id":"-LWxg1WcdGEbeQyjSHoW","title":"04.2.2 使用new关键字","pathname":"/mastering-go-zh-cn/04.0/04.2/04.2.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"},{"label":"04.2 结构体"}]},{"id":"-LWxg1WdKWHNBjKr1Fkg","title":"04.3 元组","pathname":"/mastering-go-zh-cn/04.0/04.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"}]},{"id":"-LWxg1We1TMiImHwp_rh","title":"04.4 正则表达式与模式匹配","pathname":"/mastering-go-zh-cn/04.0/04.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"}]},{"id":"-LWxg1WfLjb9IHVqz5iZ","title":"04.4.1 理论知识","pathname":"/mastering-go-zh-cn/04.0/04.4/04.4.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"},{"label":"04.4 正则表达式与模式匹配"}]},{"id":"-LWxg1Wgx5GaGnMVpxD3","title":"04.4.2 简单的正则表达式示例","pathname":"/mastering-go-zh-cn/04.0/04.4/04.4.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"},{"label":"04.4 正则表达式与模式匹配"}]},{"id":"-LWxg1WhB7UhfBZpfoGX","title":"04.4.3 高级的正则表达式示例","pathname":"/mastering-go-zh-cn/04.0/04.4/04.4.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"},{"label":"04.4 正则表达式与模式匹配"}]},{"id":"-LWxg1Wih8VMunnLjCwa","title":"04.4.4 正则匹配IPv4地址","pathname":"/mastering-go-zh-cn/04.0/04.4/04.4.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"},{"label":"04.4 正则表达式与模式匹配"}]},{"id":"-LWxg1WjEn-N-Sw_0-zr","title":"04.5 字符串","pathname":"/mastering-go-zh-cn/04.0/04.5","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"}]},{"id":"-LWxg1Wkv7AOnaPjsyS0","title":"04.5.1 rune是什么？","pathname":"/mastering-go-zh-cn/04.0/04.5/04.5.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"},{"label":"04.5 字符串"}]},{"id":"-LWxg1WleBMh3v7uLvTn","title":"04.5.2 关于Unicode的包","pathname":"/mastering-go-zh-cn/04.0/04.5/04.5.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"},{"label":"04.5 字符串"}]},{"id":"-LWxg1WmW_r6I6LMr4xt","title":"04.5.3 关于字符串处理的包","pathname":"/mastering-go-zh-cn/04.0/04.5/04.5.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"},{"label":"04.5 字符串"}]},{"id":"-LYqheVOhO5ioWOeE5rT","title":"04.6 switch语句","pathname":"/mastering-go-zh-cn/04.0/04.6","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"}]},{"id":"-LYqheVPAaXIx5lRjq0Q","title":"04.7 计算Pi的精确值","pathname":"/mastering-go-zh-cn/04.0/04.7","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"}]},{"id":"-LYqheVQGclgjIoimAkD","title":"04.8 实现简单的K-V存储","pathname":"/mastering-go-zh-cn/04.0/04.8","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"}]},{"id":"-LYqheVRJT6AT0UlFWBb","title":"04.9 延展阅读","pathname":"/mastering-go-zh-cn/04.0/04.9","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"}]},{"id":"-LYqheVSKGED1l2eRu0_","title":"04.10 练习","pathname":"/mastering-go-zh-cn/04.0/04.10","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"}]},{"id":"-LYqheVTyczABhnV_xg4","title":"04.11 本章小结","pathname":"/mastering-go-zh-cn/04.0/04.11","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"4 组合类型的使用"}]},{"id":"-LWutZCfSfU9u9f4jIku","title":"5 数据结构","pathname":"/mastering-go-zh-cn/05.0","siteSpaceId":"sitesp_Skryb","description":""},{"id":"-LWutZCggDLb6l36zRsi","title":"05.1 图和节点","pathname":"/mastering-go-zh-cn/05.0/05.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"}]},{"id":"-LWutZChGicAKMGRjOeT","title":"05.2 算法复杂度","pathname":"/mastering-go-zh-cn/05.0/05.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"}]},{"id":"-LelHkw8v_m9uZfAWbwl","title":"05.3 Go 语言中的二叉树","pathname":"/mastering-go-zh-cn/05.0/05.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"}]},{"id":"-LelHkw9MRAhW3xDltkR","title":"05.3.1 Go 语言实现二叉树","pathname":"/mastering-go-zh-cn/05.0/05.3/05.3.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"},{"label":"05.3 Go 语言中的二叉树"}]},{"id":"-LelHkwAWAiofJPB_PMb","title":"05.3.2 二叉树的优点","pathname":"/mastering-go-zh-cn/05.0/05.3/05.3.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"},{"label":"05.3 Go 语言中的二叉树"}]},{"id":"-LelHkwBleqOu_eoo3QS","title":"05.4 Go 语言中的哈希表","pathname":"/mastering-go-zh-cn/05.0/05.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"}]},{"id":"-LelHkwCpLpxo2_6LeGq","title":"05.4.1 Go 语言实现哈希表","pathname":"/mastering-go-zh-cn/05.0/05.4/05.4.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"},{"label":"05.4 Go 语言中的哈希表"}]},{"id":"-LelHkwD_L3T07pEvWYL","title":"05.4.2 实现查找功能","pathname":"/mastering-go-zh-cn/05.0/05.4/05.4.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"},{"label":"05.4 Go 语言中的哈希表"}]},{"id":"-LelHkwEJyvWdyYqajX4","title":"05.4.3 哈希表的优点","pathname":"/mastering-go-zh-cn/05.0/05.4/05.4.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"},{"label":"05.4 Go 语言中的哈希表"}]},{"id":"-LelHkwF3_M-izRWEWpy","title":"05.5 Go 语言中的链表","pathname":"/mastering-go-zh-cn/05.0/05.5","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"}]},{"id":"-LelHkwGMvtJn3lua3d2","title":"05.5.1 Go 语言实现链表","pathname":"/mastering-go-zh-cn/05.0/05.5/05.5.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"},{"label":"05.5 Go 语言中的链表"}]},{"id":"-LelHkwHiTgxkQ10YitZ","title":"05.5.2 链表的优点","pathname":"/mastering-go-zh-cn/05.0/05.5/05.5.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"},{"label":"05.5 Go 语言中的链表"}]},{"id":"-LelHkwIlYchcAo9nAlc","title":"05.6 Go 语言中的双向链表","pathname":"/mastering-go-zh-cn/05.0/05.6","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"}]},{"id":"-LelHkwJPOgqOv-VuRtI","title":"05.6.1 Go 语言实现双向链表","pathname":"/mastering-go-zh-cn/05.0/05.6/05.6.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"},{"label":"05.6 Go 语言中的双向链表"}]},{"id":"-LelHkwK9vH3HW0o2KNv","title":"05.6.2 双向链表的优点","pathname":"/mastering-go-zh-cn/05.0/05.6/05.6.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"},{"label":"05.6 Go 语言中的双向链表"}]},{"id":"-LelHkwLKrtAFt_WLHAv","title":"05.7 Go 语言中的队列","pathname":"/mastering-go-zh-cn/05.0/05.7","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"}]},{"id":"-LelHkwMjDkFMFv-b-c5","title":"05.7.1 Go 语言实现队列","pathname":"/mastering-go-zh-cn/05.0/05.7/05.7.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"},{"label":"05.7 Go 语言中的队列"}]},{"id":"-LelHkwNif5PaISfPTP6","title":"05.8 Go 语言中的栈","pathname":"/mastering-go-zh-cn/05.0/05.8","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"}]},{"id":"-LelHkwOxSO2uNF9v48O","title":"05.8.1 Go 语言实现栈","pathname":"/mastering-go-zh-cn/05.0/05.8/05.8.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"},{"label":"05.8 Go 语言中的栈"}]},{"id":"-LelHkwPK8cZhPWMAERW","title":"05.9 container 包","pathname":"/mastering-go-zh-cn/05.0/05.9","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"}]},{"id":"-LelHkwQ6PYad1qAjh4D","title":"05.9.1 使用 container/heap","pathname":"/mastering-go-zh-cn/05.0/05.9/05.9.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"},{"label":"05.9 container 包"}]},{"id":"-LelHkwRB_V4VywIBkwB","title":"05.9.2 使用 container/list","pathname":"/mastering-go-zh-cn/05.0/05.9/05.9.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"},{"label":"05.9 container 包"}]},{"id":"-LelHkwSsE8Hdx7oEgF8","title":"05.9.3 使用 container/ring","pathname":"/mastering-go-zh-cn/05.0/05.9/05.9.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"},{"label":"05.9 container 包"}]},{"id":"-LelHkwTDeqx76eSw3P0","title":"05.10 生成随机数","pathname":"/mastering-go-zh-cn/05.0/05.10","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"}]},{"id":"-LelHkwUqJtCK7OZ5Pt_","title":"05.10.1 生成随机字符串","pathname":"/mastering-go-zh-cn/05.0/05.10/05.10.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"},{"label":"05.10 生成随机数"}]},{"id":"-LelHkwVTe9bh5Nx9rFO","title":"05.11 延展阅读","pathname":"/mastering-go-zh-cn/05.0/05.11","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"}]},{"id":"-LelHkwWRUoGxhJMZrOT","title":"05.12 练习","pathname":"/mastering-go-zh-cn/05.0/05.12","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"}]},{"id":"-LelHkwXLnt8IBAblzD-","title":"05.13 本章小结","pathname":"/mastering-go-zh-cn/05.0/05.13","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"5 数据结构"}]},{"id":"-Lm_EAjhJC2No3Be4iHS","title":"6 Go package中不为人知的知识","pathname":"/mastering-go-zh-cn/06.0","siteSpaceId":"sitesp_Skryb","description":""},{"id":"-Lm_EAjifq4sJPOXidTX","title":"06.1 关于Go packages","pathname":"/mastering-go-zh-cn/06.0/06.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"6 Go package中不为人知的知识"}]},{"id":"-Lm_EAjjDxb9gFTg6_5W","title":"06.2 Go函数","pathname":"/mastering-go-zh-cn/06.0/06.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"6 Go package中不为人知的知识"}]},{"id":"-Lm_EAjkKLitbBLFXmJe","title":"06.2.1 匿名函数","pathname":"/mastering-go-zh-cn/06.0/06.2/06.2.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"6 Go package中不为人知的知识"},{"label":"06.2 Go函数"}]},{"id":"-Lm_EAjlpfHmlYr4Mvt2","title":"06.2.2 多返回值的函数","pathname":"/mastering-go-zh-cn/06.0/06.2/06.2.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"6 Go package中不为人知的知识"},{"label":"06.2 Go函数"}]},{"id":"-Lm_EAjmPcT5Nq3Yjvt3","title":"06.2.3 可命名的函数返回值","pathname":"/mastering-go-zh-cn/06.0/06.2/06.2.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"6 Go package中不为人知的知识"},{"label":"06.2 Go函数"}]},{"id":"-Lm_EAjnQo28GpW9fyq9","title":"06.2.4 参数为指针的函数","pathname":"/mastering-go-zh-cn/06.0/06.2/06.2.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"6 Go package中不为人知的知识"},{"label":"06.2 Go函数"}]},{"id":"-Lm_EAjozAu9kQIypEk5","title":"06.2.5 返回值为指针的函数","pathname":"/mastering-go-zh-cn/06.0/06.2/06.2.5","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"6 Go package中不为人知的知识"},{"label":"06.2 Go函数"}]},{"id":"-Lm_EAjp3xXb-a2UcB2q","title":"06.2.6 闭包","pathname":"/mastering-go-zh-cn/06.0/06.2/06.2.6","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"6 Go package中不为人知的知识"},{"label":"06.2 Go函数"}]},{"id":"-Lm_EAjqq6xZpvCTcNm9","title":"06.2.7 函数作为参数","pathname":"/mastering-go-zh-cn/06.0/06.2/06.2.7","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"6 Go package中不为人知的知识"},{"label":"06.2 Go函数"}]},{"id":"-Lm_EAjrDC3SDWN-oObc","title":"06.3 设计你的Go packages","pathname":"/mastering-go-zh-cn/06.0/06.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"6 Go package中不为人知的知识"}]},{"id":"-LW1H-f4cMN8TkgyHIcb","title":"[7 反射和接口]","pathname":"/mastering-go-zh-cn/7-fan-she-he-jie-kou","siteSpaceId":"sitesp_Skryb","description":""},{"id":"-LW1H-f5yqdvIGDhAfe9","title":"07.1 类型方法","pathname":"/mastering-go-zh-cn/7-fan-she-he-jie-kou/07.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[7 反射和接口]"}]},{"id":"-LW1H-f6fWU8S0evOppY","title":"07.2 Go的接口","pathname":"/mastering-go-zh-cn/7-fan-she-he-jie-kou/07.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[7 反射和接口]"}]},{"id":"-LW1H-f7ly3ZrlsZPlNv","title":"07.3 类型断言","pathname":"/mastering-go-zh-cn/7-fan-she-he-jie-kou/07.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[7 反射和接口]"}]},{"id":"-LW1H-f8-ChYrYklTKZX","title":"07.4 设计接口","pathname":"/mastering-go-zh-cn/7-fan-she-he-jie-kou/07.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[7 反射和接口]"}]},{"id":"-LW1L7RbVc_RFC_eLk7Z","title":"07.4.1 接口的使用","pathname":"/mastering-go-zh-cn/7-fan-she-he-jie-kou/07.4/07.4.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[7 反射和接口]"},{"label":"07.4 设计接口"}]},{"id":"-LW1L7Rcl56XqAB99sVG","title":"07.4.2 Switch用于类型判断","pathname":"/mastering-go-zh-cn/7-fan-she-he-jie-kou/07.4/07.4.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[7 反射和接口]"},{"label":"07.4 设计接口"}]},{"id":"-LW1H-fBAMQtK9SrUBKr","title":"07.5 反射","pathname":"/mastering-go-zh-cn/7-fan-she-he-jie-kou/07.5","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[7 反射和接口]"}]},{"id":"-LW1H-fCohaGkyh27i4U","title":"07.5.1 使用反射的简单示例","pathname":"/mastering-go-zh-cn/7-fan-she-he-jie-kou/07.5/07.5.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[7 反射和接口]"},{"label":"07.5 反射"}]},{"id":"-LW1H-fDM_HIVe7lnQ65","title":"07.5.2 反射进阶","pathname":"/mastering-go-zh-cn/7-fan-she-he-jie-kou/07.5/07.5.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[7 反射和接口]"},{"label":"07.5 反射"}]},{"id":"-LW1H-fEJSPPuP8LAUqd","title":"07.5.3 反射的三个缺点","pathname":"/mastering-go-zh-cn/7-fan-she-he-jie-kou/07.5/07.5.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[7 反射和接口]"},{"label":"07.5 反射"}]},{"id":"-LW1H-fFdgH000VOUBZ-","title":"07.6 Go的OOP思想","pathname":"/mastering-go-zh-cn/7-fan-she-he-jie-kou/07.6","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[7 反射和接口]"}]},{"id":"-LW1H-fGcg08TmwcaQOf","title":"07.7 延展阅读","pathname":"/mastering-go-zh-cn/7-fan-she-he-jie-kou/07.7","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[7 反射和接口]"}]},{"id":"-LW1H-fHdAsxJHynj3pM","title":"07.8 练习","pathname":"/mastering-go-zh-cn/7-fan-she-he-jie-kou/07.8","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[7 反射和接口]"}]},{"id":"-LW1H-fIlaAoKrlUrUFT","title":"07.9 本章小结","pathname":"/mastering-go-zh-cn/7-fan-she-he-jie-kou/07.9","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"[7 反射和接口]"}]},{"id":"-LelHkxxqM0Y64EgP9_w","title":"8 Go UNIX系统编程","pathname":"/mastering-go-zh-cn/08.0","siteSpaceId":"sitesp_Skryb","description":""},{"id":"-LelHkxypZ1BAuf5NakM","title":"08.1 关于UNIX进程","pathname":"/mastering-go-zh-cn/08.0/08.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-LgzWQH7ujAuWkR6S9Jq","title":"08.2 flag包","pathname":"/mastering-go-zh-cn/08.0/08.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-LgzWQH8Lr56pbkklQpS","title":"08.3 io.Reader和io.Writer接口","pathname":"/mastering-go-zh-cn/08.0/08.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-LgzWQH9aCX7tKeJG9rY","title":"08.3.1 缓冲和无缓冲的文件输入和输出","pathname":"/mastering-go-zh-cn/08.0/08.3/08.3.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"},{"label":"08.3 io.Reader和io.Writer接口"}]},{"id":"-LgzWQHAwKM-03cvM_Xe","title":"08.4 bufio包","pathname":"/mastering-go-zh-cn/08.0/08.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-LgzWQHBOp7HGn8LnSTi","title":"08.5 读取文本文件","pathname":"/mastering-go-zh-cn/08.0/08.5","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-LgzWQHC030idi2UhBrN","title":"08.5.1 逐行读取文本文件","pathname":"/mastering-go-zh-cn/08.0/08.5/08.5.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"},{"label":"08.5 读取文本文件"}]},{"id":"-LgzWQHDOsDsVYXVGQZc","title":"08.5.2 逐词读取文本文件","pathname":"/mastering-go-zh-cn/08.0/08.5/08.5.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"},{"label":"08.5 读取文本文件"}]},{"id":"-LgzWQHEfKjzWWSDjWoD","title":"08.5.3 逐字符读取文本文件","pathname":"/mastering-go-zh-cn/08.0/08.5/08.5.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"},{"label":"08.5 读取文本文件"}]},{"id":"-LgzWQHFjNtMvENHoqM6","title":"08.5.4 从/dev/random中读取","pathname":"/mastering-go-zh-cn/08.0/08.5/08.5.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"},{"label":"08.5 读取文本文件"}]},{"id":"-LgzWQHGBR1X16VaMqhm","title":"08.6 从文件中读取所需的数据量","pathname":"/mastering-go-zh-cn/08.0/08.6","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-LgzWQHHkvLFA5TuyW4m","title":"08.7 为什么我们使用二进制格式","pathname":"/mastering-go-zh-cn/08.0/08.7","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-LgzWQHI16OOP2dOVmfT","title":"08.8 读取CSV文件","pathname":"/mastering-go-zh-cn/08.0/08.8","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-LhpOG15Hk6Pq37KcBXG","title":"08.9 写入文件","pathname":"/mastering-go-zh-cn/08.0/08.9","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-LhpOG1672ee1G9pDOCh","title":"08.10 从磁盘加载和保存数据","pathname":"/mastering-go-zh-cn/08.0/08.10","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-Lm_EAkMB-ux7E-ckUOs","title":"08.11 再看strings包","pathname":"/mastering-go-zh-cn/08.0/08.11","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-Lm_EAkNIbBP7agsdYU9","title":"08.12 关于bytes包","pathname":"/mastering-go-zh-cn/08.0/08.12","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-Lm_EAkOXLpvrvWvDbvs","title":"08.13 文件权限","pathname":"/mastering-go-zh-cn/08.0/08.13","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-Lm_EAkPflE5kiagb560","title":"08.14 处理Unix信号","pathname":"/mastering-go-zh-cn/08.0/08.14","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-Lm_EAkQRt3QdoNAkHBI","title":"08.14.1 处理两种信号","pathname":"/mastering-go-zh-cn/08.0/08.14/08.14.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"},{"label":"08.14 处理Unix信号"}]},{"id":"-Lm_EAkRhgGmEQPQZ920","title":"08.14.2 处理所有信号","pathname":"/mastering-go-zh-cn/08.0/08.14/08.14.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"},{"label":"08.14 处理Unix信号"}]},{"id":"-Lm_EAkSrbtW-9_XL0Cb","title":"08.15 Unix管道编程","pathname":"/mastering-go-zh-cn/08.0/08.15","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-Lm_EAkTQqeIVt-nrLTf","title":"08.16 遍历目录树","pathname":"/mastering-go-zh-cn/08.0/08.16","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-Lm_EAkUht-YDh8eRVU5","title":"08.17 使用ePBF","pathname":"/mastering-go-zh-cn/08.0/08.17","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-Lm_EAkVzJs5Mq26zk2A","title":"08.18 关于syscall.PtraceRegs","pathname":"/mastering-go-zh-cn/08.0/08.18","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-Lm_EAkWc3bIP4oDXvY_","title":"08.19 跟踪系统调用","pathname":"/mastering-go-zh-cn/08.0/08.19","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-Lm_EAkXKL0eQ0e1y0wa","title":"08.20 User ID和group ID","pathname":"/mastering-go-zh-cn/08.0/08.20","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-Lm_EAkYngVHMAq17A2D","title":"08.21 其他资源","pathname":"/mastering-go-zh-cn/08.0/08.21","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-Lm_EAkZh38aNJQwtsrj","title":"08.22 练习","pathname":"/mastering-go-zh-cn/08.0/08.22","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-Lm_EAk_94R9pFR-jxAu","title":"08.23 总结","pathname":"/mastering-go-zh-cn/08.0/08.23","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"8 Go UNIX系统编程"}]},{"id":"-LYqheVlBuviwaobxkD1","title":"9 并发-Goroutines,Channel和Pipeline","pathname":"/mastering-go-zh-cn/09.0","siteSpaceId":"sitesp_Skryb","description":""},{"id":"-LW1HoXVOHajiHDcPq9Q","title":"09.1 关于进程，线程和Go协程","pathname":"/mastering-go-zh-cn/09.0/09.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"}]},{"id":"-LW1HoXWZ72ZulB1jIHl","title":"09.1.1 Go调度器","pathname":"/mastering-go-zh-cn/09.0/09.1/09.1.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"},{"label":"09.1 关于进程，线程和Go协程"}]},{"id":"-LW1HoXXrLssUSzc2j5S","title":"09.1.2 并发与并行","pathname":"/mastering-go-zh-cn/09.0/09.1/09.1.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"},{"label":"09.1 关于进程，线程和Go协程"}]},{"id":"-LW1HoXY4MQ1YaetuDqB","title":"09.2 Goroutines","pathname":"/mastering-go-zh-cn/09.0/09.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"}]},{"id":"-LYqheVqdAGeUE7_ZIyM","title":"09.2.1 创建一个Goroutine","pathname":"/mastering-go-zh-cn/09.0/09.2/09.2.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"},{"label":"09.2 Goroutines"}]},{"id":"ZZhfmdjVSkIq3H4AK13Z","title":"09.2.2 创建多个Goroutine","pathname":"/mastering-go-zh-cn/09.0/09.2/09.2.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"},{"label":"09.2 Goroutines"}]},{"id":"-LWxg1XA2H4zGjUoU_rK","title":"09.3 优雅地结束goroutines","pathname":"/mastering-go-zh-cn/09.0/09.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"}]},{"id":"-LWxg1XBIbVp0K8bUmxE","title":"09.3.1 当Add()和Done()的数量不匹配时会发生什么？","pathname":"/mastering-go-zh-cn/09.0/09.3/09.3.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"},{"label":"09.3 优雅地结束goroutines"}]},{"id":"-LWxg1XCowSqODhvfL9B","title":"09.4 Channel(通道)","pathname":"/mastering-go-zh-cn/09.0/09.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"}]},{"id":"-LelHky8jyGz_GduzdtJ","title":"09.4.1 通道的写入","pathname":"/mastering-go-zh-cn/09.0/09.4/09.4.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"},{"label":"09.4 Channel(通道)"}]},{"id":"-LelHky99NoB_mWx7WuI","title":"09.4.2 从通道接收数据","pathname":"/mastering-go-zh-cn/09.0/09.4/09.4.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"},{"label":"09.4 Channel(通道)"}]},{"id":"-LelHkyAKP8jTtn1jVnU","title":"09.4.3 通道作为函数参数传递","pathname":"/mastering-go-zh-cn/09.0/09.4/09.4.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"},{"label":"09.4 Channel(通道)"}]},{"id":"-LelHkyBQ8midk7fNljv","title":"09.5 管道","pathname":"/mastering-go-zh-cn/09.0/09.5","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"}]},{"id":"-LelHkyCk5OaNhbT8PWo","title":"09.6 延展阅读","pathname":"/mastering-go-zh-cn/09.0/09.6","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"}]},{"id":"-LelHkyDn5PFJNYhBdwV","title":"09.7 练习","pathname":"/mastering-go-zh-cn/09.0/09.7","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"}]},{"id":"-LelHkyE2LmQRm8WmVt-","title":"09.8 本章小结","pathname":"/mastering-go-zh-cn/09.0/09.8","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"9 并发-Goroutines,Channel和Pipeline"}]},{"id":"-Lctr8WjAtVOH-CpUYNs","title":"10 Go 并发-进阶讨论","pathname":"/mastering-go-zh-cn/10.0","siteSpaceId":"sitesp_Skryb","description":""},{"id":"-Lctr8WkYwNKT5EYZcdw","title":"10.1 重温调度器","pathname":"/mastering-go-zh-cn/10.0/10.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"}]},{"id":"-Lctr8WltHKR6O336bGn","title":"10.1.1 环境变量 GOMAXPROCS","pathname":"/mastering-go-zh-cn/10.0/10.1/10.1.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"},{"label":"10.1 重温调度器"}]},{"id":"-Lctr8WmDcujYJ3P_1Ge","title":"10.2 select关键字","pathname":"/mastering-go-zh-cn/10.0/10.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"}]},{"id":"-Lctr8Wnf14yZRbVvu3f","title":"10.3 goroutine超时检查的两种方式","pathname":"/mastering-go-zh-cn/10.0/10.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"}]},{"id":"-Lctr8Wo7yCm4DE_5Jqe","title":"10.3.1 方式1","pathname":"/mastering-go-zh-cn/10.0/10.3/10.3.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"},{"label":"10.3 goroutine超时检查的两种方式"}]},{"id":"-Lctr8WpaVay_p0C53MR","title":"10.3.2 方式2","pathname":"/mastering-go-zh-cn/10.0/10.3/10.3.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"},{"label":"10.3 goroutine超时检查的两种方式"}]},{"id":"-Lctr8Wq3EQznQ7XBbAu","title":"10.4 重温Channel（通道）","pathname":"/mastering-go-zh-cn/10.0/10.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"}]},{"id":"-Lctr8WrX3zhSAk-hLU_","title":"10.4.1 信号通道","pathname":"/mastering-go-zh-cn/10.0/10.4/10.4.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"},{"label":"10.4 重温Channel（通道）"}]},{"id":"-Lctr8Ws48CgLnyX0Fpx","title":"10.4.2 可缓冲通道","pathname":"/mastering-go-zh-cn/10.0/10.4/10.4.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"},{"label":"10.4 重温Channel（通道）"}]},{"id":"-Lctr8Wt47KQ7QXTxjH_","title":"10.4.3 值为nil的通道","pathname":"/mastering-go-zh-cn/10.0/10.4/10.4.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"},{"label":"10.4 重温Channel（通道）"}]},{"id":"-Lctr8WuB8hbiKBaFret","title":"10.4.4 传送channel的通道","pathname":"/mastering-go-zh-cn/10.0/10.4/10.4.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"},{"label":"10.4 重温Channel（通道）"}]},{"id":"-Lctr8Wv2BSPs3TOdCrD","title":"10.4.5 指定通道的执行顺序","pathname":"/mastering-go-zh-cn/10.0/10.4/10.4.5","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"},{"label":"10.4 重温Channel（通道）"}]},{"id":"-Lctr8Ww1yfI1UhPIce1","title":"10.5 通过共享变量来共享内存","pathname":"/mastering-go-zh-cn/10.0/10.5","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"}]},{"id":"-Lctr8WxblE7IE3X5uYi","title":"10.5.1 sync.Mutex类型","pathname":"/mastering-go-zh-cn/10.0/10.5/10.5.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"},{"label":"10.5 通过共享变量来共享内存"}]},{"id":"-Lctr8WyycM_nWsNN_Pk","title":"10.5.1.1 忘记解锁mutex的后果","pathname":"/mastering-go-zh-cn/10.0/10.5/10.5.1/10.5.1.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"},{"label":"10.5 通过共享变量来共享内存"},{"label":"10.5.1 sync.Mutex类型"}]},{"id":"-Lctr8WzQQbq1rcOhpF_","title":"10.5.2 sync.RWMutex类型","pathname":"/mastering-go-zh-cn/10.0/10.5/10.5.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"},{"label":"10.5 通过共享变量来共享内存"}]},{"id":"-Lctr8X-3ObPQzknvtA8","title":"10.5.3 通过goroutine共享内存","pathname":"/mastering-go-zh-cn/10.0/10.5/10.5.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"},{"label":"10.5 通过共享变量来共享内存"}]},{"id":"-Lctr8X0TpPUoVGt_QJg","title":"10.6 竞争状态","pathname":"/mastering-go-zh-cn/10.0/10.6","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"}]},{"id":"-Lctr8X1oZrUyi075JZf","title":"10.7 关于context包","pathname":"/mastering-go-zh-cn/10.0/10.7","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"}]},{"id":"-LelHkyZIkwOHxsder0-","title":"10.7.1 context使用的高级示例","pathname":"/mastering-go-zh-cn/10.0/10.7/10.7.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"},{"label":"10.7 关于context包"}]},{"id":"-LelHky_zE6twa27ZsOz","title":"10.7.2 工作池","pathname":"/mastering-go-zh-cn/10.0/10.7/10.7.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"},{"label":"10.7 关于context包"}]},{"id":"-LelHkyaZPTkImqYbeyP","title":"10.8 延展阅读","pathname":"/mastering-go-zh-cn/10.0/10.8","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"}]},{"id":"-LelHkybhNQhaPU-r2HG","title":"10.9 练习","pathname":"/mastering-go-zh-cn/10.0/10.9","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"}]},{"id":"-LelHkyc_seom5u56A3L","title":"10.10 本章小结","pathname":"/mastering-go-zh-cn/10.0/10.10","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"10 Go 并发-进阶讨论"}]},{"id":"-Lctr8X25kTy1etySVSv","title":"11 代码测试，优化及分析","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi","siteSpaceId":"sitesp_Skryb","description":""},{"id":"-Lctr8X3vy-39v-UuiUY","title":"11.1 本章使用的Go版本","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.1-ben-zhang-shi-yong-de-go-ban-ben","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8X4PxYQ66ifZKY-","title":"11.1.1 1.10和1.9版本对比","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.1.1-1.10-he-1.9-ban-ben-dui-bi","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8X5QjOwcHra-Jq5","title":"11.2 安装beta或者RC版本","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.2-an-zhuang-beta-huo-zhe-rc-ban-ben","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8X66P0rBm-J0SPl","title":"11.3 关于优化","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.3-guan-yu-you-hua","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8X7OHD7LFrlNNZH","title":"11.4 优化你的Go代码","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.4-you-hua-ni-de-go-dai-ma","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8X8zRWHAKd9_9J2","title":"11.5 分析Go代码","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.5-fen-xi-go-dai-ma","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8X9losKAcwchuPj","title":"11.5.1 标准库net/http/pprof","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.5-fen-xi-go-dai-ma/11.5.1-biao-zhun-ku-nethttppprof","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"},{"label":"11.5 分析Go代码"}]},{"id":"-Lctr8XA63peXpgEJeqa","title":"11.5.2 代码分析示例","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.5-fen-xi-go-dai-ma/11.5.2-dai-ma-fen-xi-shi-li","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"},{"label":"11.5 分析Go代码"}]},{"id":"-Lctr8XBuF03UUwIeaBX","title":"11.5.3 用于分析的第三方包","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.5-fen-xi-go-dai-ma/11.5.3-yong-yu-fen-xi-de-di-san-fang-bao","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"},{"label":"11.5 分析Go代码"}]},{"id":"-Lctr8XCIYyVq-P2e-51","title":"11.5.4 Go分析器的web接口","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.5-fen-xi-go-dai-ma/11.5.4-go-fen-xi-qi-de-web-jie-kou","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"},{"label":"11.5 分析Go代码"}]},{"id":"-Lctr8XDyJRypx7Yl74e","title":"11.5.4.1 使用web接口的分析示例","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.5-fen-xi-go-dai-ma/11.5.4-go-fen-xi-qi-de-web-jie-kou/11.5.4.1-shi-yong-web-jie-kou-de-fen-xi-shi-li","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"},{"label":"11.5 分析Go代码"},{"label":"11.5.4 Go分析器的web接口"}]},{"id":"-Lctr8XEZf2E4AY2Nc3l","title":"11.5.4.2 Graphviz快览","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.5-fen-xi-go-dai-ma/11.5.4-go-fen-xi-qi-de-web-jie-kou/11.5.4.2-graphviz-kuai-lan","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"},{"label":"11.5 分析Go代码"},{"label":"11.5.4 Go分析器的web接口"}]},{"id":"-Lctr8XFs82LiVLt7nIU","title":"11.6 go tool的代码追踪","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.6-go-tool-de-dai-ma-zhui-zong","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8XG78RE5qnZJ-gX","title":"11.7 测试","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.7-ce-shi","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8XHhx4EKa0Wor7K","title":"11.7.1 编程测试代码","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.7-ce-shi/11.7.1-bian-cheng-ce-shi-dai-ma","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"},{"label":"11.7 测试"}]},{"id":"-Lctr8XIPw0iixkOOMb9","title":"11.8 基准测试","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.8-ji-zhun-ce-shi","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8XJChC9rRTnLrke","title":"11.8.1 基准测试示例","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.8-ji-zhun-ce-shi/11.8.1-ji-zhun-ce-shi-shi-li","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"},{"label":"11.8 基准测试"}]},{"id":"-Lctr8XKRuUVdf8LCtjT","title":"11.8.2 错误的基准测试函数","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.8-ji-zhun-ce-shi/11.8.2-cuo-wu-de-ji-zhun-ce-shi-han-shu","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"},{"label":"11.8 基准测试"}]},{"id":"-Lctr8XLk4qOukSqvqm6","title":"11.9 基准测试的缓冲写入","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.9-ji-zhun-ce-shi-de-huan-chong-xie-ru","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8XMmWGagWYsrJbi","title":"11.10 揪出隐藏的代码","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.10-jiu-chu-yin-cang-de-dai-ma","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8XNgZ24_sdAEgcU","title":"11.11 交叉编译","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.11-jiao-cha-bian-yi","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8XO1-IobxAbsMsG","title":"11.12 创建示例函数","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.12-chuang-jian-shi-li-han-shu","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8XP_f4kkI0UXEsx","title":"11.13 生成文档","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.13-sheng-cheng-wen-dang","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8XQjgzJ8tjh99qS","title":"11.14 延展阅读","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.14-yan-zhan-yue-du","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8XRQ00onshkfYW6","title":"11.15 练习","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.15-lian-xi","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-Lctr8XSYaMhJaya0DF6","title":"11.16 本章小结","pathname":"/mastering-go-zh-cn/11-dai-ma-ce-shi-you-hua-ji-fen-xi/11.16-ben-zhang-xiao-jie","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"11 代码测试，优化及分析"}]},{"id":"-LWutZD21phQEkGRkGTV","title":"12 Go网络编程基础","pathname":"/mastering-go-zh-cn/12.0","siteSpaceId":"sitesp_Skryb","description":""},{"id":"-LWutZD3-hV-26mPYaoz","title":"12.1 关于net/http,net和http.RoundTripper","pathname":"/mastering-go-zh-cn/12.0/12.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"}]},{"id":"-LWutZD47byww0za-lw7","title":"12.1.1 http.Response类型","pathname":"/mastering-go-zh-cn/12.0/12.1/12.1.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"},{"label":"12.1 关于net/http,net和http.RoundTripper"}]},{"id":"-LWutZD5yW1jU12PZSOQ","title":"12.1.2 http.Request类型","pathname":"/mastering-go-zh-cn/12.0/12.1/12.1.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"},{"label":"12.1 关于net/http,net和http.RoundTripper"}]},{"id":"-LWutZD6ZmyVq890YB6w","title":"12.1.3 http.Transport类型","pathname":"/mastering-go-zh-cn/12.0/12.1/12.1.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"},{"label":"12.1 关于net/http,net和http.RoundTripper"}]},{"id":"-LYqheW-E8wPw9jvqFh4","title":"12.2 关于TCP/IP","pathname":"/mastering-go-zh-cn/12.0/12.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"}]},{"id":"-LYqheW0gZKRdlXcFA_t","title":"12.3 关于IPv4和IPv6","pathname":"/mastering-go-zh-cn/12.0/12.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"}]},{"id":"-LYqheW1bS1JysvIu4gA","title":"12.4 命令行工具netcat","pathname":"/mastering-go-zh-cn/12.0/12.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"}]},{"id":"-LYqheW2YWCN2JR5JpOt","title":"12.5 读取网络接口的配置文件","pathname":"/mastering-go-zh-cn/12.0/12.5","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"}]},{"id":"-LYqheW3LDdg8t96-LwD","title":"12.6 实现DNS查询","pathname":"/mastering-go-zh-cn/12.0/12.6","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"}]},{"id":"-Lctr8XcBMMfczf9dPn5","title":"12.6.1 获取域名的 NS记录","pathname":"/mastering-go-zh-cn/12.0/12.6/12.6.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"},{"label":"12.6 实现DNS查询"}]},{"id":"-Lctr8XdUJKJv30l4PNr","title":"12.6.2 获取域名的 MX 记录","pathname":"/mastering-go-zh-cn/12.0/12.6/12.6.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"},{"label":"12.6 实现DNS查询"}]},{"id":"-Lctr8Xelod_T6Ca16Wu","title":"12.7 Go实现web服务器","pathname":"/mastering-go-zh-cn/12.0/12.7","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"}]},{"id":"-Lctr8XfLsTfNCDvklZ7","title":"12.7.1 分析HTTP服务","pathname":"/mastering-go-zh-cn/12.0/12.7/12.7.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"},{"label":"12.7 Go实现web服务器"}]},{"id":"-Lctr8XgQMcQS1IA_Gvw","title":"12.7.2 用Go创建网站","pathname":"/mastering-go-zh-cn/12.0/12.7/12.7.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"},{"label":"12.7 Go实现web服务器"}]},{"id":"-LYqheW4GC9u0ybUgDQk","title":"12.8 追踪 HTTP","pathname":"/mastering-go-zh-cn/12.0/12.8","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"}]},{"id":"-LYqheW5LJgiNTt7J7Ht","title":"12.8.1 测试 HTTP handler","pathname":"/mastering-go-zh-cn/12.0/12.8/12.8.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"},{"label":"12.8 追踪 HTTP"}]},{"id":"-LYqheW6HZNvslX1uNLM","title":"12.9 Go实现web客户端","pathname":"/mastering-go-zh-cn/12.0/12.9","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"}]},{"id":"-Lctr8XkLhtR0yYk6ljF","title":"12.9.1 Go web客户端进阶","pathname":"/mastering-go-zh-cn/12.0/12.9/12.9.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"},{"label":"12.9 Go实现web客户端"}]},{"id":"-Lctr8Xld6tPx6C0Mxwx","title":"12.10 HTTP连接超时","pathname":"/mastering-go-zh-cn/12.0/12.10","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"}]},{"id":"-Lctr8XmDmzNABGHWrUX","title":"12.10.1 SetDeadline 介绍","pathname":"/mastering-go-zh-cn/12.0/12.10/12.10.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"},{"label":"12.10 HTTP连接超时"}]},{"id":"-Lctr8Xnaf8FHreVO2hl","title":"12.10.2 服务端设置超时时间","pathname":"/mastering-go-zh-cn/12.0/12.10/12.10.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"},{"label":"12.10 HTTP连接超时"}]},{"id":"-Lctr8XoMd3jFw5ZsVqd","title":"12.10.3 设置超时的另外一种方法","pathname":"/mastering-go-zh-cn/12.0/12.10/12.10.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"},{"label":"12.10 HTTP连接超时"}]},{"id":"-Lctr8XpF7cdT_OWUwon","title":"12.11 抓包工具Wireshark和tshark","pathname":"/mastering-go-zh-cn/12.0/12.11","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"}]},{"id":"-Lctr8XqQUrHAhsjaIuf","title":"12.12 延展阅读","pathname":"/mastering-go-zh-cn/12.0/12.12","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"}]},{"id":"-Lctr8XrlRrg3N8rJzMg","title":"12.13 练习","pathname":"/mastering-go-zh-cn/12.0/12.13","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"}]},{"id":"-Lctr8XsdHjKoQ8sJg_3","title":"12.14 本章小结","pathname":"/mastering-go-zh-cn/12.0/12.14","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"12 Go网络编程基础"}]},{"id":"-LWxg1XKL-9PWoID1jkC","title":"13 网络编程 - 构建服务器与客户端","pathname":"/mastering-go-zh-cn/13.0","siteSpaceId":"sitesp_Skryb","description":""},{"id":"-LWxg1XLl8LSteF149AC","title":"13.1 Go 标准库-net","pathname":"/mastering-go-zh-cn/13.0/13.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"}]},{"id":"-LWxg1XMLY5T2Vrg1KT4","title":"13.2 TCP 客户端","pathname":"/mastering-go-zh-cn/13.0/13.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"}]},{"id":"-LWxg1XNLqiVbkJaGNbS","title":"13.2.1 另一个版本的 TCP 客户端","pathname":"/mastering-go-zh-cn/13.0/13.2/13.2.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"},{"label":"13.2 TCP 客户端"}]},{"id":"-LWxg1XO9Ogrv-WAB_Te","title":"13.3 TCP 服务器","pathname":"/mastering-go-zh-cn/13.0/13.3","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"}]},{"id":"-LYqheWCD2aHvDvn8Ye4","title":"13.3.1 另一个版本的 TCP 服务器","pathname":"/mastering-go-zh-cn/13.0/13.3/13.3.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"},{"label":"13.3 TCP 服务器"}]},{"id":"-LYqheWDpTuPFvq9zHcy","title":"13.4 UDP 客户端","pathname":"/mastering-go-zh-cn/13.0/13.4","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"}]},{"id":"-LYqheWE8OGHtjrbYs8t","title":"13.5 UDP 服务器","pathname":"/mastering-go-zh-cn/13.0/13.5","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"}]},{"id":"-LYqheWFEw2hikQJvhB0","title":"13.6 并发 TCP 服务器","pathname":"/mastering-go-zh-cn/13.0/13.6","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"}]},{"id":"-LYqheWGH5HkEpOF8P1F","title":"13.6.1 简洁的并发TCP服务器","pathname":"/mastering-go-zh-cn/13.0/13.6/13.6.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"},{"label":"13.6 并发 TCP 服务器"}]},{"id":"-LYqheWHMCgH6iJO_1rI","title":"13.7 远程调用（RPC）","pathname":"/mastering-go-zh-cn/13.0/13.7","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"}]},{"id":"-LYqheWIK5LU1pEaPkbm","title":"13.7.1 RPC 客户端","pathname":"/mastering-go-zh-cn/13.0/13.7/13.7.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"},{"label":"13.7 远程调用（RPC）"}]},{"id":"-LYqheWJ6-OatcVgrZjv","title":"13.7.2 RPC 服务器","pathname":"/mastering-go-zh-cn/13.0/13.7/13.7.2","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"},{"label":"13.7 远程调用（RPC）"}]},{"id":"-LYqheWK6uTbM8luNn2R","title":"13.8 底层网络编程","pathname":"/mastering-go-zh-cn/13.0/13.8","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"}]},{"id":"-LYqheWLkzS6RqSM6Fxn","title":"13.8.1 获取ICMP数据","pathname":"/mastering-go-zh-cn/13.0/13.8/13.8.1","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"},{"label":"13.8 底层网络编程"}]},{"id":"-LYqheWMfqJUFECfBcfq","title":"13.9 接下来的任务","pathname":"/mastering-go-zh-cn/13.0/13.9","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"}]},{"id":"-LYqheWNaH-lQ_ThiZiP","title":"13.10 延展阅读","pathname":"/mastering-go-zh-cn/13.0/13.10","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"}]},{"id":"-LYqheWOmt28PGDE-gWw","title":"13.11 练习","pathname":"/mastering-go-zh-cn/13.0/13.11","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"}]},{"id":"-LYqheWPfDeXShHnm3Cx","title":"13.12 本章小节","pathname":"/mastering-go-zh-cn/13.0/13.12","siteSpaceId":"sitesp_Skryb","description":"","breadcrumbs":[{"label":"13 网络编程 - 构建服务器与客户端"}]}]}