我已经放入了一个小代码文件,其中$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 关注
- 88 浏览
添加回答
举报
0/150
提交
取消