介紹兩種方式:
方式一(推薦):
嚴格的說,方式一是使用項目目錄下的go文件。
項目目錄如下:
|── studyModule //項目主目錄
| |──log //主目錄下文件夾
| | |──log.go // log目錄下go文件
| |── main.go // 主目錄下go文件
| |── go.mod
log.go 中首行 package log,注意,log文件夾下不要go mod init,否則會導致無法編譯
studyModule文件夾下 go mod init sts
main.go中調用log.go中的方法:import "sts/log"-> 此處為主目錄下的mod名下邊的log文件夾
log目錄下的方法,變量等依然需要大寫。如果不能正常使用可嘗試在主目錄下執行go mod tidy
方式二(使用go mod replace)
|── studyModule //項目主目錄
| |──4fan.top //主目錄下文件夾
| |──|──DY
| | | |──DYlogger@v1.1.0
| | | | | |──*.go
| | | | | |──go.mod【2】
| |── main.go // 主目錄下go文件
| |── go.mod【1】
go.mod【2】:Module Name:DYlogger
go.mod 【1】:
require 4fan.top/DY/DYlogger v1.1.0
replace 4fan.top/DY/DYlogger => ./4fan.top/DY/DYlogger@v1.1.0
main.go中: import "4fan.top/DY/DYlogger"
說明:go mod是一個理想化的包管理工具,因此版本在go mod中很重要。(semver(語義化版本號))
go.mod 【1】中的require最好指明版本 對於文件名名字以及mod文件中的版本號碼,未測試在其它情況下是否生效,請自行測試。
以上為個人經驗,如有錯誤,歡迎討論。禁止任何形式轉載
