go语言入门时遇到的一些关于package的坑
一般的包名是包含一些.go文件的目录名(注意main包的目录不是main目录,如果想在main包中添加函数建议写在main函数所在的.go文件中),如下图所示:
编译器会将同一目录下的不同.go文件视作同一个包如下为hello包,导入代码为
import "hello"
go 里面一个目录为一个package, 一个package级别的func, type, 变量, 常量, 这个package下的所有文件里的代码都可以随意访问, 不需要首字母大写如果hello目录下的两个文件如
hello.go和hello2.go中的package 定义的名字要是同一个,不同的话,是会报错的。举例如下:package main import "fmt" func main() { fmt.Println("Hello") }上为
hello.go,下为hello2.gopackage main2 import "fmt" func main() { fmt.Println("hello2") }报错为
package main: found packages main (hello.go) and main2 (hello2.go) in D:\goworks\src\hellopackage的声明
package pakName此行必须写在第一行,且一个文件夹下的所有文件必须使用同一个包名,一个.go文件不能声明两个package
版权声明:本文为try17875864815原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。