亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何訪問同一包中但來自不同文件的未導出函數

如何訪問同一包中但來自不同文件的未導出函數

Go
素胚勾勒不出你 2021-11-15 15:22:37
我正在嘗試在本地構建godoc.org源代碼以進行一些更改。我的工作目錄是/Users/Dany/go/src/github.com/golang/gddo. 在 gddo-server 包中有幾個文件。其中一個 go 文件使用另一個文件中的函數,該文件在同一個包中但未導出。它正在拋出Undefined: <function-name>異常。文件夾的結構是,golang/gddo/              gddo-server                        main.go                        crawl.go我們如何在不同文件中使用來自同一包的未導出函數?任何人都可以幫我解決這個問題。另外,如果有人對如何構建 godoc.org 代碼有任何想法嗎?
查看完整描述

1 回答

?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

同一個包的源文件可以毫不費力地引用任何源文件中定義的標識符。如果它們位于同一文件夾中并且具有相同的包聲明,則您可以引用所有包級導出和未導出的標識符,就好像所有標識符都已在一個文件中定義一樣。

規格:包

包又由一個或多個源文件構造而成,這些源文件共同聲明了屬于包的常量、類型、變量和函數,并且可以在同一包的所有文件中訪問這些常量、類型、變量和函數。

規范:包條款

一組共享相同 PackageName 的文件構成了一個包的實現。一個實現可能要求一個包的所有源文件都位于同一目錄中。

需要注意的一件事:您的示例似乎是特殊main包。如果要使用 運行它go run,則必須枚舉所有源文件。

要使用 運行您的示例go run,請導航到該gddo-server文件夾并鍵入:

go run background.go browse.go client.go crawl.go graph.go main.go play.go template.go

或者,如果您首先構建它,則更簡單。導航到gddo-server文件夾并鍵入:

go build

這將在同一文件夾中生成本機可執行二進制文件。要運行它,請鍵入:(gddo-server在 Windows 上)或./gddo-server(在 Linux 上)。

或者您可以安裝它go install,它將結果可執行二進制文件放在您的$GOPATH/bin文件夾中。


查看完整回答
反對 回復 2021-11-15
  • 1 回答
  • 0 關注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號