Go語言中同一個package中函數(shù)互相調(diào)用為undefined的解決
更新時間:2023年03月03日 10:59:57 作者:wongyaa
這篇文章主要介紹了Go語言中同一個package中函數(shù)互相調(diào)用為undefined的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
同一個package中函數(shù)互相調(diào)用為undefined的解決
代碼如下:
package main import "fmt" func main() { myFunc() } func init() { fmt.Println("there is main.init()") }
package main import "fmt" func init() { fmt.Println("there is myClass.init()") } func myFunc() { fmt.Println("there is myClass.myFunc()") }
執(zhí)行main方法后得到:
解決方案
GoLand通過option+F12打開Terminal終端執(zhí)行一下操作:
go run *.go
或者
go build . ./run // 恕我直言,這種方法還沒成功
同一個package下不同文件中函數(shù)調(diào)用報未定義問題
代碼如下:
- hello.go文件
package main import "fmt" func hello() ?{ ? ?fmt.Print("go =======") }
- main.go文件
package main func main() { ? ? hello() }
編譯過程報錯:
# command-line-arguments
test\main.go:10:3: undefined: hello
Process finished with exit code 2
出現(xiàn)這樣的原因是hello.go文件并未編譯
解決方式大致有兩種
- 第一個:通過go命令編譯,go run *.go 或 (go bulid . ,. run)
- 第二個:通過單元測試調(diào)用函數(shù)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
向Rust學(xué)習(xí)Go考慮簡單字符串插值特性示例解析
這篇文章主要為大家介紹了向Rust學(xué)習(xí)Go考慮簡單字符串插值特性示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02