美文网首页
2018-07-07——Go语言package踩坑

2018-07-07——Go语言package踩坑

作者: 妖云小离 | 来源:发表于2018-07-07 15:46 被阅读0次

go语言中main包是特殊的。

一般的包名是包含一些.go文件的目录名,如下图所示:

main包

图中hello文件夹即为hello包。包内可包含一些.go文件,日下图所示:


hello包

编译器会将同一目录下的不同.go文件视作同一个包。

但是main包的目录不是main目录,如果想在main包中添加函数建议写在main函数所在的.go文件中。
因为多个.go文件在main包下是无法相互调用的!!!
因为多个.go文件在main包下是无法相互调用的!!!
因为多个.go文件在main包下是无法相互调用的!!!

最好的方法是创建另一个包(如上图的hello包),由main函数调用,如下图所示:

main函数调用hello包中的函数

go 里面一个目录为一个package, 一个package级别的func, type, 变量, 常量, 这个package下的所有文件里的代码都可以随意访问, 也不需要首字母大写,如下图:

hello.go
hello.go中有sayHello()函数。
testImport.go
testImport.go中的LOL()函数内,直接调用了sayHello()函数。
因为这两个.go文件存在于同一个hello包中,所以函数可以随意调用,首字母也不用大写。
因为这两个.go文件存在于同一个hello包中,所以函数可以随意调用,首字母也不用大写。
因为这两个.go文件存在于同一个hello包中,所以函数可以随意调用,首字母也不用大写。

我们看运行结果:


运行结果

相关文章

网友评论

      本文标题:2018-07-07——Go语言package踩坑

      本文链接:https://www.haomeiwen.com/subject/rwgwuftx.html