精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網(wǎng)站建設(shè)資訊

NEWS

網(wǎng)站建設(shè)資訊

怎么在golang中使用module導(dǎo)入本地包-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)怎么在golang中使用 module導(dǎo)入本地包,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),阜寧企業(yè)網(wǎng)站建設(shè),阜寧品牌網(wǎng)站建設(shè),網(wǎng)站定制,阜寧網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,阜寧網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

golang適合做什么

golang可以做服務(wù)器端開發(fā),但golang很適合做日志處理、數(shù)據(jù)打包、虛擬機處理、數(shù)據(jù)庫代理等工作。在網(wǎng)絡(luò)編程方面,它還廣泛應(yīng)用于web應(yīng)用、API應(yīng)用等領(lǐng)域。

mypackage/mypackage.go 內(nèi)容如下:

package mypackage
import "fmt"
func New(){
 fmt.Println("mypackage.New")
}

我們現(xiàn)在分兩種情況討論:

在同一個項目下

注意:在一個項目(project)下我們是可以定義多個包(package)的。

目錄結(jié)構(gòu)

現(xiàn)在的情況是,我們在 moduledemo/main.go 中調(diào)用了 mypackage 這個包。

moduledemo
├── go.mod
├── main.go
└── mypackage
  └── mypackage.go

導(dǎo)入包

這個時候,我們需要在 moduledemo/go.mod 中按如下定義:

module moduledemo

go 1.14

然后在 moduledemo/main.go 中按如下方式導(dǎo)入 mypackage

package main
import (
 "fmt"
 "moduledemo/mypackage" // 導(dǎo)入同一項目下的mypackage包
)
func main() {
 mypackage.New()
 fmt.Println("main")
}

舉個例子

舉一反三,假設(shè)我們現(xiàn)在有文件目錄結(jié)構(gòu)如下:

└── bubble
    ├── dao
    │   └── mysql.go
    ├── go.mod
    └── main.go

其中 bubble/go.mod 內(nèi)容如下:

module github.com/q1mi/bubble

go 1.14

bubble/dao/mysql.go 內(nèi)容如下:

package dao
import "fmt"
func New(){
 fmt.Println("mypackage.New")
}

bubble/main.go 內(nèi)容如下:

package main

import (
 "fmt"
 "github.com/q1mi/bubble/dao"
)
func main() {
 dao.New()
 fmt.Println("main")
}

不在同一個項目下

目錄結(jié)構(gòu)

├── moduledemo
│   ├── go.mod
│   └── main.go
└── mypackage
    ├── go.mod
    └── mypackage.go

導(dǎo)入包

這個時候, mypackage 也需要進行module初始化,即擁有一個屬于自己的 go.mod 文件,內(nèi)容如下:

module mypackage

go 1.14

然后我們在 moduledemo/main.go 中按如下方式導(dǎo)入:

import (
 "fmt"
 "mypackage"
)
func main() {
 mypackage.New()
 fmt.Println("main")
}

因為這兩個包不在同一個項目路徑下,你想要導(dǎo)入本地包,并且這些包也沒有發(fā)布到遠程的github或其他代碼倉庫地址。這個時候我們就需要在 go.mod 文件中使用 replace 指令。

在調(diào)用方也就是 packagedemo/go.mod 中按如下方式指定使用相對路徑來尋找 mypackage 這個包。

module moduledemo
go 1.14
require "mypackage" v0.0.0
replace "mypackage" => "../mypackage"

舉個例子

最后我們再舉個例子鞏固下上面的內(nèi)容。

我們現(xiàn)在有文件目錄結(jié)構(gòu)如下:

├── p1
│   ├── go.mod
│   └── main.go
└── p2
    ├── go.mod
    └── p2.go

p1/main.go 中想要導(dǎo)入 p2.go 中定義的函數(shù)。

p2/go.mod 內(nèi)容如下:

module liwenzhou.com/q1mi/p2

go 1.14

p1/main.go 中按如下方式導(dǎo)入

import (
 "fmt"
 "liwenzhou.com/q1mi/p2"
)
func main() {
 p2.New()
 fmt.Println("main")
}

因為我并沒有把 liwenzhou.com/q1mi/p2 這個包上傳到 liwenzhou.com 這個網(wǎng)站,我們只是想導(dǎo)入本地的包,這個時候就需要用到 replace 這個指令了。

p1/go.mod 內(nèi)容如下:

module github.com/q1mi/p1
go 1.14
require "liwenzhou.com/q1mi/p2" v0.0.0
replace "liwenzhou.com/q1mi/p2" => "../p2"

以上就是怎么在golang中使用 module導(dǎo)入本地包,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


當(dāng)前名稱:怎么在golang中使用module導(dǎo)入本地包-創(chuàng)新互聯(lián)
鏈接地址:http://m.jcarcd.cn/article/cejhsh.html
主站蜘蛛池模板: 国产尤物尤物在线看 | 无码精品毛片成人影院 | 日韩欧美乱国产日 | 欧美亚日韩精品影视 | 无码久久综合免费 | 最新精品国偷自产在线美女足 | 国产激情网 | 国产精品露脸国语 | 日本三区四区免 | 国产超薄肉 | 国内揄拍国内 | 黑人免费 | 日本大片免费一级 | 国产精品福利小视频 | 欧美日韩亚洲 | 国内精品免费久 | www黄2′| 日本美女日b视频 | 国产欧美精品在线 | 国产国产乱老熟女视 | 91蝌蚪视 | 欧美午夜性刺激在线 | 国产午夜在线视频 | 午夜福利体验区 | 国产又粗又长又 | 成人午夜亚洲精品无 | 成人一区| 老司机深夜免费福利 | 成人午夜在线看 | 91欧美尤物精品 | 国产精品最新高清 | 九九九成人| 欧美日韩亚洲一区 | 国产成年人免费在 | 成人看片 | 国产日韩精品视频 | 国产精品第144页 | 最新免费观看男女啪啪视频 | 国产美女脱的黄的全 | 国产区精品区 | 国产女m视 |