第一感觉,go全是错误处理,走三步一个错误处理的那种!
猜数字
很简单的随机生成和输入操作
bufio库的使用
reader := bufio.NewReader(os.stdin)
通过对底层os库的封装实现的数据流运行
input, err := reader.ReadString('\n')
调用方法, 以某种形式读取数据
基础标准库
strconv
主要是字符和其他类型的转化
strconv.Atoi(s string) int
转换 string to int
strings
字符操作
strings.TrimSuffix(s string , suffix string) string
简单字典
网络库和 json 转化
go 中需要有一个结构体接受 json 的转化, 所以 struct 需要提前准备, 课中使用了两个工具
curlconverter 根据网站的原生请求生成对应的 go 语言请求
oktools 根据 json 自动生成 struct
结构体可以用 `` 标注, 表面转化为 json 以后的名字 比如
type DictRequest struct {
TransType string `json:"trans_type"`
Source string `json:"source"`
UserID string `json:"user_id"`
}
socks5代理
主要是对于 net 库的接受信息的解析, 如何取出其中的值, 并判断是否符合要求, 然后是连接, 用 context 库进行进程管理
go process(client) 用 goruntime 后台开启一个服务器交互进程
- 接受请求并鉴权 —— auth 函数
- 链接需求网址并通讯 —— connect 函数