什么是面向对象编程见《一万小时计划04》
Go中并没有明确提出对象的概念,但是支持面向对象编程的特性
Go中的面向对象编程=面向结构体编程
8.1.1 封装与工厂模式
按需设置私有字段, 私有方法, 封装在公有方法之内来使用, 隐藏了某一方法的具体步骤
8.1.2 继承
结构体的继承
8.1.3 多态
通过接口实现
什么是JSON见《一万小时计划05》
9.1.1 序列化
bool将编码为JSON布尔型
float, int将编码为JSON数值型
*范围为float64
string将编码为JSON字符串
*为了安全的在HTML中使用, "<", ">", "&", "U+2028", "U+2029" 默认转义为 "\u003c", "\u003e", "\u0026", "\u2028", "\u2029"
数组, 切片将编码为JSON数组
*[]byte将编码为base64编码的字符串
结构体, map将编码为JSON对象
*map中的key即使不是字符串, 也会被编码为字符串
nil将编码为null
9.1.2 结构体字段标签
json.Marshal支持解析格式为`json:"…"`的结构体字段标签
9.1.3 格式化
9.1.4 反序列化
9.1.5 检测
*什么是IP地址见《一万小时计划06》
*什么是域名见《一万小时计划08》
*什么是端口见《一万小时计划07》
*什么是TCP见《一万小时计划10》
TCP中字节流对应Go中的[]byte
10.1.1 客户端
10.1.2 服务器端
10.1.3 通用
net.Conn 是 net 包定义的一个接口
实现了 net.Conn 的了类型也实现了 io.Reader/io.Writer