怎麼樣做一個可以被Import的Go包

LOGO.jpg

在這裡我將嘗試怎麼做一個最小的Go,放在github給別人引用






結論&要點




  • go.mod 中 module 應該為你的github路徑,這樣可以避免引用名稱不同的問題

    • 小版本更新使用tag來上傳,破壞性更新再modle 最後方加上/v2, v3等字樣



  • 檔名不要使用main.go 其餘應該都可以

  • package會是別人取用工具包的名稱

  • 已完成的github包 github.com/limiu82214/GoHellowWorldForImport



過程




  1. 初始化 go mod init GoHellowWorldForImport 並上傳至github

  2. 寫main.go,並在另一個地方使用go get ...看到錯誤訊息 import "github.com/limiu82214/GoHellowWorldForImport" is a program, not an importable package (compile),因此猜測不能用main.go

  3. 更名為 GoHellowWorldForImport 在試一次 (包含package與函式)

  4. 由於快取的關係,新增tag代表新的版本號並上傳再試一次

  5. 拿到錯誤訊息,推測module名必須是github.com/limiu82214/GoHellowWorldForImport以符合import格式
    go: github.com/limiu82214/GoHellowWorldForImport@v0.0.2: parsing go.mod:
    module declares its path as: GoHellowWorldForImport
    but was required as: github.com/limiu82215/GoHellowWorldForImport"


  6. 測試成功,更改參數並記錄要點



留言

這個網誌中的熱門文章

成人剪舌繫帶聽過嗎?我剪了!!

Scp - ssh 的遠端檔案傳輸指令

MAC有更好用的注音輸入法嗎?有無蝦米嗎?