第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何解決 Go 項(xiàng)目中嵌套應(yīng)用程序二進(jìn)制文件中的依賴項(xiàng)?

如何解決 Go 項(xiàng)目中嵌套應(yīng)用程序二進(jìn)制文件中的依賴項(xiàng)?

Go
當(dāng)年話下 2023-06-05 19:25:51
這聽起來很愚蠢,但我正在嘗試構(gòu)建我的新 golang 項(xiàng)目一段時(shí)間,但我遇到了以下錯(cuò)誤無法加載包:包 github.com/kuskmen/yamq/cmd/yamq-client:在 C:\projects\yamq\cmd\yamq- 中找到包 main (main.go) 和 yamqclient (yamq-client.go)客戶我知道這應(yīng)該很容易修復(fù),但我來自 .NET,但我在 Go 項(xiàng)目及其依賴項(xiàng)解析模型方面仍然沒有經(jīng)驗(yàn),因此很費(fèi)勁。我的項(xiàng)目結(jié)構(gòu)看起來像這樣/yamq? ? /cmd? ? ? ? /yamq-client? ? ? ? ? // yamq client application binary? ? ? ? ? ? main.go? ? ? ? ? ?// package main? ? ? ? ? ? yamq-client.go? ? // package yamqclient? ? ? ? /yamq-server? ? ? ? ? // yamq server application binary? ? ? ? ? ? main.go? ? ? ? ? ?// package main? ? ? ? ? ? yamq-server.go? ? // package yamqserver? ? go.mod? ? ? ? ? ? ? ? // contains only "module github.com/kuskmen/yamq" for now? ? ... // some library files that will probably be moved to /shared folder到目前為止一切順利,當(dāng)我go build在最外層目錄 ( /yamq ) 中執(zhí)行操作時(shí),它正在成功構(gòu)建(或者至少?zèng)]有顯示任何錯(cuò)誤),但是當(dāng)我嘗試構(gòu)建二進(jìn)制yamq-client文件時(shí)yamq-server,我每次嘗試都會(huì)遇到上述錯(cuò)誤用谷歌搜索或找到有用的東西,我得到了一些舊文章或答案,可以追溯到 2013-2016 年,它提出了一些關(guān)于$GOPATH等等的事情,因?yàn)槲艺趪L試使用 go 模塊,所以這里不應(yīng)該是這種情況。
查看完整描述

2 回答

?
慕姐4208626

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊

根據(jù):

  • Go 程序員通常將所有 Go 代碼保存在一個(gè)工作區(qū)中。

  • 工作區(qū)包含許多版本控制存儲(chǔ)庫(kù)(例如,由 Git 管理)。

  • 每個(gè)存儲(chǔ)庫(kù)包含一個(gè)或多個(gè)包。

  • 每個(gè)包在一個(gè)目錄中包含一個(gè)或多個(gè) Go 源文件。

  • 包目錄的路徑?jīng)Q定了它的導(dǎo)入路徑。


查看完整回答
反對(duì) 回復(fù) 2023-06-05
?
智慧大石

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊

對(duì)于您的項(xiàng)目,我會(huì)做這樣的事情:


$ tree

.

├── clientlib

│   └── lib.go

├── cmd

│   ├── client

│   │   └── main.go

│   └── server

│       └── main.go

├── go.mod

└── serverlib

    └── lib.go


5 directories, 5 files


$ cat go.mod

module myproject.com

模塊名稱是任意的(可以是github.com/yourname/yourproject)。


對(duì)于服務(wù)器端:


$ cat serverlib/lib.go 

package serverlib


import "fmt"


func Hello() {

    fmt.Println("Hello from serverlib.Hello")

}


$ cat cmd/server/main.go 

package main


import (

    "fmt"


    "myproject.com/serverlib"

)


func main() {

    fmt.Println("Running server")

    serverlib.Hello()

}

現(xiàn)在我們可以構(gòu)建并運(yùn)行它了:


$ go build -o server cmd/server/main.go 

$ ./server

Running server

Hello from serverlib.Hello

客戶端看起來是對(duì)稱的。


變體:你可以用它們的實(shí)際二進(jìn)制名稱命名.go文件- 比如和. 每個(gè)包中的包仍然是,但隨后無需顯式創(chuàng)建具有文件名(沒有 )的可執(zhí)行文件。cmd/...server.goclient.gomaingo build.go-o


查看完整回答
反對(duì) 回復(fù) 2023-06-05
  • 2 回答
  • 0 關(guān)注
  • 194 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)