不在同一個項目下
目錄結構
導入包
這個時候,mypackage也需要進行module初始化,即擁有一個屬於自己的go.mod文件,內容如下:
module mypackage
go 1.14
然后我們在moduledemo/main.go中按如下方式導入:
package main
import (
"fmt"
"mypackage"
)
func main() {
mypackage.New()
fmt.Println("main")
}
因為這兩個包不在同一個項目路徑下,你想要導入本地包,並且這些包也沒有發布到遠程的github或其他代碼倉庫地址。這個時候我們就需要在go.mod文件中使用replace指令。
在調用方也就是packagedemo/go.mod中按如下方式指定使用相對路徑來尋找mypackage這個包。
module moduledemo
go 1.14
require "mypackage" v0.0.0
replace "mypackage" => "../mypackage"