Go学习日记7

1.Go定义Map
解析:

/* 声明变量,默认map是nil */
var map_variable map[key_data_type]value_data_type
/* 使用make函数 */
map_variable := make(map[key_data_type]value_data_type)

2.modbus
解析:Fault-tolerant implementation of modbus protocol in Go (golang).

3.uuid作用
解析:uuid是Universally Unique Identifier的缩写,即通用唯一识别码。

4.go-serial
解析:一个允许在Go中读取和写入串行端口的软件包。它利用Go进行串口通讯。

5.sockaddr和sockaddr_in区别
解析:struct sockaddr和struct sockaddr_in这两个结构体用来处理网络通信的地址。在各种系统调用或者函数中,只要和网络地址打交道,就得用到这两个结构体。

6.golang-lru
解析:Golang第三方库golang-lru基于双向链表实现了三种LRU及变种Cache:LRU,Q2,ARC。

7.go-homedir
解析:go-homedir用来获取用户的主目录。

8.mbserver
解析:Package mbserver implments a Modbus server (slave).

9.go module
解析:使用go module管理依赖后会在项目根目录下生成两个文件go.mod和go.sum。
[1]go.mod中会记录当前项目的所依赖
[2]go.sum记录每个依赖库的版本和哈希值

10.go func(){}()
解析:以并发的方式[以协程的方式运行]调用匿名函数func。

11.Swagger
解析:Swagger允许提供符合OpenAPI规范的标准化APIs文档。

12.golang中的select用法
解析:早期的select函数是用来监控一系列的文件句柄,一旦其中一个文件句柄发生IO操作,该select调用就会被返回。golang在语言级别直接支持select,用于处理异步IO问题。

13.go defer
解析:defer是Go语言中的延迟执行语句,用来添加函数结束时执行的代码,常用于释放某些已分配的资源、关闭数据库连接、断开socket连接、解锁一个加锁的资源。Go语言机制担保一定会执行defer语句中的代码。

14.socat
解析:socat是一个两个独立数据通道之间的双向数据传输的继电器。这些数据通道包含文件、管道、设备[终端或调制解调器等]、插座[Unix,IP4,IP6 - raw,UDP,TCP]、SSL、SOCKS4客户端或代理CONNECT。

15.go testing包
解析:golang标准库testing包为Go代码支持了自动化测试。使用gotest命令来执行。

16.go.sum作用
解析:用来校验下载的依赖包的hash值。

17.go: parsing $GOFLAGS: non-flag “”-X"
解析:unset GOFLAGS

参考文献:
[1]Go语言中的new()和make()的区别:https://studygolang.com/articles/3496
[2]golang中的select用法:https://studygolang.com/articles/7203
[3]
[4]
[5]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章