什么是面向对象编程见《一万小时计划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