我已經放入了一個小代碼文件,其中$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 關注
- 133 瀏覽
添加回答
舉報
0/150
提交
取消
