介绍
[0 前言]
00.1 前言
00.2 面向读者
00.3 章节概览
00.4 更多信息
00.4.1 代码规范约定
[1 Go与操作系统]
01.1 本书结构
01.2 Go的历史
01.3 为什么是Go
01.4 Go的优点
01.4.1 Go是完美的么
[2 Go内部机制]
02.1 本章概述
02.2 编译器
02.5 C中调用Go函数
02.5.1 Go Package
02.5.2 C代码
02.6 defer关键字
[3 Go基本数据类型]
03.1 Go循环
03.1.1 for循环
03.1.2 while循环
03.1.3 range关键字
03.1.4 for循环代码示例
03.3 Go切片
03.3.1 切片基本操作
03.3.2 切片的扩容
03.3.3 字节切片
03.3.4 copy()函数
03.3.5 多维切片
03.3.6 使用切片的代码示例
03.3.7 使用sort.Slice()排序
03.4 Go 映射(map)
03.4.1 Map值为nil的坑
03.4.2 何时该使用Map?
03.5 Go 常量
03.5.1 常量生成器:iota
03.6 Go 指针
03.7 时间与日期的处理技巧
03.7.1 解析时间
03.7.2 解析时间的代码示例
03.7.3 解析日期
03.7.4 解析日期的代码示例
03.7.5 格式化时间与日期
03.8 延伸阅读
03.9 练习
03.10 本章小结
4 组合类型的使用
04.1 关于组合类型
04.2 结构体
04.2.1 结构体指针
04.2.2 使用new关键字
04.3 元组
04.4 正则表达式与模式匹配
04.4.1 理论知识
04.4.2 简单的正则表达式示例
04.4.3 高级的正则表达式示例
04.4.4 正则匹配IPv4地址
04.5 字符串
04.5.1 rune是什么?
04.5.2 关于Unicode的包
04.5.3 关于字符串处理的包
04.6 switch语句
04.7 计算Pi的精确值
04.8 实现简单的K-V存储
04.9 延展阅读
04.10 练习
04.11 本章小结
5 数据结构
05.1 图和节点
05.2 算法复杂度
[7 反射和接口]
07.1 类型方法
07.2 Go的接口
07.3 类型断言
07.4 设计接口
07.4.1 接口的使用
07.4.2 Switch用于类型判断
07.5 反射
07.5.1 使用反射的简单示例
07.5.2 反射进阶
07.5.3 反射的三个缺点
07.6 Go的OOP思想
07.7 延展阅读
07.8 练习
07.9 本章小结
9 并发-Goroutines,Channel和Pipeline
09.1 关于进程,线程和Go协程
09.1.1 Go调度器
09.1.2 并发与并行
09.2 Goroutines
09.2.1 创建一个Goroutine
09.2.2 创建多个Goroutine
09.3 优雅地结束goroutines
09.3.1 当Add()和Done()的数量不匹配时会发生什么?
09.4 Channel(通道)
12 Go网络编程基础
12.1 关于net/http,net和http.RoundTripper
12.1.1 http.Response类型
12.1.2 http.Request类型
12.1.3 http.Transport类型
12.2 关于TCP/IP
12.3 关于IPv4和IPv6
12.4 命令行工具netcat
12.5 读取网络接口的配置文件
12.6 实现DNS查询
12.8 追踪 HTTP
12.8.1 测试 HTTP handler
12.9 Go实现web客户端
13 网络编程 - 构建服务器与客户端
13.1 Go 标准库-net
13.2 TCP 客户端
13.2.1 另一个版本的 TCP 客户端
13.3 TCP 服务器
13.3.1 另一个版本的 TCP 服务器
13.4 UDP 客户端
13.5 UDP 服务器
13.6 并发 TCP 服务器
13.6.1 简洁的并发TCP服务器
13.7 远程调用(RPC)
13.7.1 RPC 客户端
13.7.2 RPC 服务器
13.8 底层网络编程
13.8.1 获取ICMP数据
13.9 接下来的任务
13.10 延展阅读
13.11 练习
13.12 本章小节
Published with GitBook
07.8 练习
练习
编写一个接口,并在另一个Go程序中使用它。然后说明你编写的接口的作用。
编写一个接口,计算三维图形的体积,例如立方体和球体。
编写一个借口,计算线段长度和平面上两点之间的距离。
编写一个使用反射的例子。
反射如何在Go映射上工作?
如果你擅长数学,试着编写一个接口来实现实数和复数的四个基本数学运算。不要使用
complex64
和
complex128
这些标准Go类型,用来定义支持复数的结构。
results matching "
"
No results matching "
"