Golang go mod 入門
Golang: go mod 起手式. Golang 套件到底要怎麼用?!
Last updated
Golang: go mod 起手式. Golang 套件到底要怎麼用?!
Last updated
Go mod 是 go 1.11 version 之後出的管理套件的工具,並且Go 1.13 version 之後成為管理套件的正式工具(成為default)。
在go mod 發布之前都是需要在$GOPATH/src路徑下才能夠使用,當需要使用模組的時候,必須將用到的資料夾link 到$GOPATH/src才能夠使用。
以上圖為例,如果要使用模組需確保/home/ubuntu/go/src中有該模組才能夠取用。下面舉hello world實例。
檔案結構: 執行go run main.go 印出 hello world
step 1. 將GOPATH指到目前資料夾
step 2. 撰寫package hello 模組(package)
step 3. 將package資料夾link 到$GOPATH/src/
step 4. 撰寫package main
執行結果:
這種用法不用像使用GOPATH的方法,需要改變GOPATH的位置。而是透過go.mod檔案辨識目前要執行的專案位置(取代GOPATH設定)。並且go.mod可以紀錄所有使用的相依模組,只要透過go install指令就可以自動安裝所有相依模組的功能。
檔案結構: 執行go run main.go 印出 hello world
step 1. go mod init hello
step 2. 撰寫hello 模組
step 3. 撰寫package main(需要在最上層)
執行結果:
v1.11之後為了解決套件管理的問題,官方出現了go mod的工具,並且v1.11、v1.12可以共存GOPATH的存在。然而在1.13之後GOPATH跟go mod兩者是不能並存的 (GOPATH不可指向有go.mod 的資料夾) 。
在撰寫Golang 專案的時候,盡量的使用go mod,盡量不修改GOPATH來開發。因為go mod會幫助開發者紀錄相依的模組,方便之後部署、交付程式碼。