Golang 的 main package

Main package

在初接觸Go的時候,會接觸到個有趣的一個東西,那就是 main package
那究竟他是用來幹什麼的呢?用途是什麼?
繼續閱讀

廣告

Golang dependencies management – godep

在使用Go一陣子以後,最不習慣的應該就是他的套件相依管理了吧!
然而在Go的官方文件中 How to Write Go Code,不僅有詳盡介紹整個Go Project的目錄結構、相關工具等等。其中更包括了Go獨有的指令 go get

獨有的 go get 讓開發者只使用一個簡單的指令就能夠自動從公開的 repository 下載相關的套件,但是如此方便的好工具也帶來了一些不一樣的困擾。

由於 go get 每次在抓取套件的時候,都是從master抓取HEAD作為使用版本(以git為例),如此的方式造成了在跑CI的時候,會碰到相依套件API change或是相關套件已經被作者移除等問題。在Golang官方還沒有提出一個方案的時候,相關Package Management的套件如雨後春筍的冒了出來。今天在這裡先介紹其中一個較多人使用的套件 godep

godep 透過簡單的指令(save/store),能夠自動建立目前專案的相依性(Godeps/Godeps.json),並且鎖定目前套件所使用的版本(commit),自動將對應套件的source code複製一份到godep所使用的workspace中。接下來我們會介紹一些godep基本的使用和使用情境。
繼續閱讀