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

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

我的 main.go 文件看不到其他文件

我的 main.go 文件看不到其他文件

Go
胡子哥哥 2022-01-04 15:50:26
我需要一些幫助來(lái)理解我在一個(gè)簡(jiǎn)單的 Web 應(yīng)用程序中的文件布局有什么問(wèn)題。$GOPATH/src/example.com/myweb然后我有2個(gè)文件:$GOPATH/src/example.com/myweb/main.go$GOPATH/src/example.com/myweb/api.go兩個(gè)文件都有:包主api.go 文件如下所示:package mainimport (    "bytes"    "encoding/json"    "fmt"    "io"    "net/http"    "time")type API struct {    URI   string    Token  string    Secret string    client *http.Client}...我的 main.go 文件如下所示:package mainimport (    "github.com/gorilla/mux"    "html/template"    "net/http")var (    templates = template.Must(template.ParseFiles("views/home.html", "views/history.html", "views/incident.html"))    api = API{        URI: "http://localhost:3000",        Token: "abc",        Secret: "123",    })func renderTemplate(w http.ResponseWriter, tmpl string, hp *HomePage) {....}func WelcomeHandler(w http.ResponseWriter, r *http.Request) {....}func main() {    r := mux.NewRouter()    r.HandleFunc("/", WelcomeHandler)    r.PathPrefix("/assets/").Handler(        http.StripPrefix("/assets/", http.FileServer(http.Dir("assets/"))))    http.ListenAndServe(":9000", r)}在我排除的代碼中,我基本上使用在我的 api.go 文件中定義的結(jié)構(gòu),并且在執(zhí)行以下操作時(shí)出現(xiàn)此錯(cuò)誤:go run main.go# command-line-arguments./main.go:16: undefined: API./main.go:23: undefined: User我到底做錯(cuò)了什么?我嘗試將 api.go 中的包名稱更改為 myweb 但這沒(méi)有幫助。我應(yīng)該使用包名 myweb 嗎?假設(shè)只有 1 個(gè)文件有主文件嗎?
查看完整描述

2 回答

?
慕桂英3389331

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

您只編譯 main.go 文件。你應(yīng)該使用:


go run main.go api.go

或者:


go run *.go

如果您正在編寫一個(gè)復(fù)雜的應(yīng)用程序,您可能會(huì)將所有內(nèi)容添加到子目錄中的包中,并擁有一個(gè) main.go 文件。例如,etcd有一個(gè)etcdmain子目錄/包以及其他子目錄/包。就像是:


/alarm    

/auth

/cmd

/etcdmain

...

而 main.go 文件很簡(jiǎn)單:


package main


import "github.com/coreos/etcd/etcdmain"


func main() {

    etcdmain.Main()

}


查看完整回答
反對(duì) 回復(fù) 2022-01-04
?
慕姐4208626

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

您正在使用 golang 工作區(qū)項(xiàng)目,這對(duì)您的應(yīng)用程序結(jié)構(gòu)有好處,而且還標(biāo)準(zhǔn)化。

當(dāng)我們使用 golang 工作區(qū)時(shí),您不能運(yùn)行單個(gè) go 文件。您需要調(diào)用 go build / go install。

安裝

go install example.com/myweb

上面的命令將在 example.com/myweb 上編譯您的主包。并且 myweb 可執(zhí)行二進(jìn)制文件將被放置在 GOPATH/bin 中。您可以手動(dòng)運(yùn)行它。

建造

go build example.com/myweb

該命令與 go install 類似,但是當(dāng)您調(diào)用該命令時(shí),二進(jìn)制可執(zhí)行文件將放置在當(dāng)前目錄中,而不是 GOPATH/bin(除非您的當(dāng)前目錄是 GOPATH/bin)。

有關(guān)更多信息,請(qǐng)查看此鏈接


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

添加回答

舉報(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)