我已經放入了一個小代碼文件,其中$GOPATH是~/go/src. 這里我創建了一個文件夾mysrc,在那里我保存了一個文件mytest.go,如下:package mytestimport ("fmt")func myfn(){ fmt.Println("My own fn")}我嘗試使用以下文件導入上面的代碼:package mainimport ("mysrc")main(){ myfn()}當我嘗試運行上面的文件時,出現錯誤:# command-line-arguments./useMyfn.go:3:1: syntax error: non-declaration statement outside function body問題出在哪里以及如何解決?感謝您的幫助。編輯:我將主 fn 更正為,func main()但現在錯誤是:# command-line-arguments./useMyfn.go:2:9: imported and not used: "mysrc" as mytest./useMyfn.go:4:2: undefined: myfn
1 回答

函數式編程
TA貢獻1807條經驗 獲得超9個贊
你需要做幾件事
我建議使用與文件夾名稱相同的包名稱。
該
myfn()
函數需要導出。如何做到:只需將函數名稱的第一個字符設置為大寫即可。
package mysrc // <-- 1 import ( "fmt" ) func Myfn() { // <-- 2 fmt.Println("My own fn") }
func
語句前需要關鍵字main()
。要訪問其他包中的函數,您需要在函數名稱之前寫下包名稱。在這種情況下,它將是
mysrc.Myfn()
。
package main import ( "mysrc") func main() { // <-- 3 mysrc.Myfn() // <-- 4 }
- 1 回答
- 0 關注
- 121 瀏覽
添加回答
舉報
0/150
提交
取消