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]

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