go语言main包中的一个小tips
Go 应用中 package main 的规则
package
golang 的所有文件都需要指定其所在的包(package),包有两种类型,一种是 main 包,使用 package main 在代码的最前面声明。另外一种就是 非 main 包,使用 package + 包名 。main 包可以有唯一的一个 main 函数,这个函数也是程序的入口。也只有 main 包可以编译成可执行的文件。
规则
1.import 导入的是相对路径,非 package 名!
习惯上将 package 名和目录名保持一致,如实例中 package A 尽量在./A 文件夹下
代码中引用包方法 / 对象 / 变量时,如调用 package A 中的 a 函数,使用 A.a 而非目录名
同一目录下,所有源文件必须使用相同的包名,一个文件夹下只能有一个 package;如果多个文件夹下有同名 package,其实只是彼此无关的 package,如果需要同时使用不同目录下的同名 package,import 时需要为每个目录指定 package 别名:
同一 package 下不同文件间可以直接调用
大写字母开头的变量方法暴露到包外,包内大小写随意
多个 go 文件在 main 包下是无法相互调用的,需要使用 go run *.go 命令
上述转载自@Luson的文章https://learnku.com/articles/65136
我遇到的问题:
多个 go 文件在 main 包下是无法相互调用的,但是编译器不会报错,
直接运行go run main.go会报错undefined
解决办法:
运行go run . 或者 go run *.go
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 hch&blog!
评论