Effective GO

2020-09-21 14:00:14

最近有人推薦Effective Go,這本書算是給初學者看的,因為已經看多很多Go方面的書了,所以再看這本書,總體收穫較小,文章地址:https://learnku.com/docs/effective-go/2020

講述的知識裡,有幾點印象深刻一些,在這裡分享出來

  1. 格式化

    go fmt:https://www.jianshu.com/p/104b33439ac2

  2. new和make區別

    • new:用來分配記憶體的內建函數, 但與其它語言中的同名函數不同,它不會初始化記憶體,只會將記憶體置零。 也就是說,new(T) 會為型別為 T 的新項分配已置零的記憶體空間, 並返回它的地址,也就是一個型別為 *T
    • make:只用於建立切片、對映和通道,並返回型別為 T(而非 *T)的一個已初始化 (而非置零)的值。 出現這種用差異的原因在於,這三種型別本質上為參照資料型別,它們在使用前必須初始化
  3. 陣列和切片的關係

    • 切片是對陣列的參照

    • 如果切片範圍沒有超過陣列長度,則兩者可以認為是完全相同的東西

    • 如果切片範圍超過陣列長度,會自動建立一個新的底層陣列,取消對原陣列的參照,陣列和切片便分隔開了

  4. type

    • type File struct/type Integer int:這是結構體,也是型別,實現了函數便是類
    • type IFile interface:這是介面,如果類中的函數包含介面中的函數,則這個類實現了該介面

資料

  1. https://blog.csdn.net/weixin_42266173/article/details/81749949
  2. https://studygolang.com/articles/27012?fr=sidebar 一篇文章理解 golang 中切片與陣列的關係
  3. https://learnku.com/docs/effective-go/2020

最後

大家如果喜歡我的文章,可以關注我的公眾號(程式設計師麻辣燙)

往期文章回顧:

演演算法

  1. 演演算法學習計劃
  2. 蠻力法
  3. 分治法
  4. 減治法

技術

  1. 淺談微服務
  2. TCP效能優化
  3. 限流實現1
  4. Redis實現分散式鎖
  5. Golang原始碼BUG追查
  6. 事務原子性、一致性、永續性的實現原理
  7. CDN請求過程詳解
  8. 記部落格服務被壓垮的歷程
  9. 常用快取技巧
  10. 如何高效對接第三方支付
  11. Gin框架簡潔版
  12. InnoDB鎖與事務簡析

讀書筆記

  1. 敏捷革命
  2. 如何鍛鍊自己的記憶力
  3. 簡單的邏輯學-讀後感
  4. 熱風-讀後感
  5. 論語-讀後感

思考

  1. 對專案管理的一些看法
  2. 對產品經理的一些思考
  3. 關於程式設計師職業發展的思考
  4. 關於程式碼review的思考
  5. Markdown編輯器推薦-typora