Golang學習日誌

2021-09-13 15:30:27 字數 431 閱讀 8536

變數賦值

golang中所有的變數都是值賦值,那麼陣列、chan、map等,需要make的物件是怎麼操作的?

自測發現

這些需要make的物件是引用賦值,也就是說新變數和舊變數操作的是同乙個記憶體空間。

但是我們自己定義的struct都會把裡面的成員乙個乙個的複製過去。

如果我們struct裡有陣列、chan、map時,對他們的複製還是引用,也就是說

陣列、chan、map這些變數只有引用賦值,不會產生值賦值的情況。

或理解陣列、chan、map這些變數的值就是那塊記憶體的位址,也就是說他們都是制定型別的指標。

但是int 與*int還是不一樣

var a int

var p*int

只有     p=&a

不能     p=a

但實際上p和a在使用上是一樣的。

golang學習日誌 19 12 6

利用函式strconv.atoi 返回 乙個是轉換結果,乙個是是否轉換成功 strconv.atoi str 練習1 判斷是否是素數 package isprime import fmt func isprimenumber i int bool return flag func main if f...

golang學習筆記 日誌庫 logrus

官方自己宣傳的最大亮點是 結構化。logrus的github位址 lfshook的github位址 file rotatelogs的github位址 pkg errors的github位址 這個日誌依賴庫,需要使用 func main info 描述資訊為golang日誌框架logrus的學習 設定...

golang日誌框架 logrus學習筆記

golang標準庫的日誌框架非常簡單,僅僅提供了print,panic和fatal三個函式,對於更精細的日誌級別 日誌檔案分割以及日誌分發等方面並沒有提供支援。所以催生了很多第三方的日誌庫,而logrus就是其中的一款第三方日誌庫,它的功能強大,效能高效,而且具有高度靈活性,提供了自定義外掛程式的功...