Go学习日记15

1.chan<-和<-chan
解析:
[1]<-chan int:只能接收值
[2]chan<- int:只能发送值

2.chan作为函数返回值
解析:
[1]chan int:可读可写的管道
[2]<- chan int:只读管道
[3]chan <- int:只写管道

3.Modbus协议
解析:Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种报文类型。

*4.func (c Context) ShouldBindJSON(obj interface{}) error
解析:ShouldBindJSON是c.ShouldBindWith(obj, binding.JSON)的简化版。

5.type H map[string]interface{}
解析:H数据类型是map[string]interface{}。

6.type FieldLevel interface {}
解析:FieldLevel包含所有的信息和帮助函数来验证一个字段。

7.文件上传Context-Type
解析:multipart/form-data

*8.func Create(name string) (File, error)
解析:创建一个文件。

9.go-jwt
解析:一种后端不做存储的前端身份验证的工具,包括Header、Claims、Signature三部分。

10.sync.WaitGroup
解析:

type WaitGroup struct {
    noCopy noCopy
    state1 [3]uint32
}

[1]WaitGroup等待goroutine集合完成,主要的goroutine调用Add来设置goroutine等待的数目。每一个goroutine当结束的时候,运行和调用Done方法。
[2]同时当所有的goroutine已经完成的时候前,Wait()被阻塞。第一次使用的时候,WaitGroup一定不能被拷贝。

*11.func (wg WaitGroup) Wait()
解析:Wait阻塞直到WaitGroup计数器为0。

*12.func (wg WaitGroup) Done()
解析:Done减少WaitGroup计数器1次。

13.type noCopy struct{}
解析:当结构体第一次使用一定不能被拷贝时,noCopy可能被嵌入到结构体中。

14.Gin接收单个参数方法
解析:

c.Param()
c.Query
c.DefaultQuery
c.PostForm
c.DefaultPostForm
c.QueryMap
c.PostFormMap
c.FormFile
c.MultipartForm

15.Gin各种绑定方法
解析:

c.Bind
c.BindJSON
c.BindXML
c.BindQuery
c.BindYAML
c.ShouldBind
c.ShouldBindJSON
c.ShouldBindXML
c.ShouldBindQuery
c.ShouldBindYAML

参考文献:
[1]Gin中文文档:https://www.kancloud.cn/shuangdeyu/gin_book/949411
[2]

上一篇:chan应用:


下一篇:go 学习 (五):goroutine 协程