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

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

從同一目錄中的另一個 go 文件導入外部函數和邏輯

從同一目錄中的另一個 go 文件導入外部函數和邏輯

Go
慕桂英3389331 2023-02-14 15:27:25
我是 golang 的新手,到目前為止一直很喜歡它。到目前為止,我一直在內部編寫我所有的應用程序邏輯main.go,屏幕上有這么多文本,它開始變得相當麻煩。我終其一生都無法弄清楚如何導入位于另一個 .go 文件中的外部函數。這是我要完成的基本示例main.gopackage mainfunc main() {     SayHello() //THIS IS THE FUNCTION IMPORTED FROM hello.go{hello.gopackage helloimport "fmt"func SayHello() {     fmt.Println("Hello!"){project structure/    -main.go    -hello.go我知道這是一個相當簡單的問題,但我嘗試的一切都會導致我的控制臺出現錯誤。在這個例子中,我只想將函數SayHello從 hello.go 文件導出到 main.go 文件中,據我所知,導出的任何內容都必須以大寫字母開頭。整個 go.mod 文件和包聲明在頂部,如果每個文件讓我感到困惑,我幾個小時都無法弄清楚。
查看完整描述

1 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

每個目錄只能有一個包。如果您希望其中的代碼hello.go位于單獨的包中,則需要將其移動到子目錄中。


首先,這假設您已經使用go mod init <something>. 出于本示例的目的,我們將從以下內容開始:


go mod init example

這將創建我們的go.mod文件。接下來,我們設置正確的目錄結構:


.

├── go.mod

├── hello

│   └── hello.go

└── main.go

hello.go寫的是正確的(嗯,一旦你修復了你發布的代碼中的語法錯誤)。我們需要添加一個import到main.go:


package main


import "example/hello"


func main() {

    hello.SayHello() //THIS IS THE FUNCTION IMPORTED FROM hello.go

}

這將構建一個產生預期輸出的可執行文件:


$ go build

$ ./example

Hello!


查看完整回答
反對 回復 2023-02-14
  • 1 回答
  • 0 關注
  • 76 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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