go module呼叫本地包

2021-10-05 09:12:09 字數 1089 閱讀 7209

1、目錄結構

--demo

--p1

--p11

--p11.go

--main.go

--go.mod

--p2

--p2.go

--go.mod

2、p2.go原始碼

package p2

import

"fmt"

const name =

"bob"

// new 首字母大寫,供外部呼叫

func

new(

)

3、p11.go原始碼

package p11

import

("fmt"

"p2"

)// do 外部呼叫

funcdo(

)

4、main.go原始碼

package main

import

("fmt"

"p1/p11"

"p2"

)func

main()

p1,p2是兩個不同的專案

p1,p11同一專案

因為p1,p2不再同一專案下,所以有各自的go.mod檔案,使用replace和require方法

replace的方法就是告訴 「專案中引用的依賴包所在的本地實際位置」

1、p1的go.mod檔案內容

module p1

go1.14

require p2 v0.

0.0replace p2 =

>..

/p2

2、p2的go.mod檔案內容

module p2

go1.14

無需對p1的go.mod檔案修改,在main函式中呼叫的時候,注意路徑是「專案/包」的結構即可

就跟p1呼叫p2中的方法一樣,因為p11是p1的包內檔案,整個p1資料夾(或稱為專案)的包依賴都是有專案的根目錄下的go.mod管理。

4 使用Go module匯入本地包

假設我們現在有moduledemo和mypackage兩個包,其中moduledemo包中會匯入mypackage包並使用它的new方法。mypackage mypackage.go內容如下 package mypackage import fmt func new 現在分兩種情況討論 1 同乙個專...

Go Module 引入本地自定義包

go module 版本規則 go modules 是乙個版本化依賴管理系統,版本需要遵循一些規則,開啟乙個 go.mod 檔案,你會發現類似下面的依賴規則 依賴規則由兩個部分組成,前面一部分是包路徑,後面一部分表示的是版本號。你會發現有兩種版本號,一種是我們很熟悉的 git 標籤,比如 v0.0....

使用go module匯入本地包的方法教程詳解

go module 是go1.11版本之後官方推出的版本管理工具,並且從 go1.13 版本開始,go module 將是go語言預設的依賴管理工具。到今天 go1.14 版本推出之後 go modules 功能已經被正式推薦在生產環境下使用了。這幾天已經有很多教程講解如何使用 go module ...