1)在golang v1.11之后的版本,自己开发的项目代码不用放进系统变量$GOPATH目录的src子目录下,见:https://www.cnblogs.com/mayanan/p/15401036.html
2)golang的package相当于命名空间,是一个逻辑组织;
3)一个项目只能有一个main函数,main函数所在的文件的头部的package名称应该为main。
4)如果其他文件中的函数在开发时需要测试执行,则需要把该文件放进一个子目录中。
在测试时,该文件可以包括main函数,package也可以写成main,但开发完成后若该文件需要需要删除main函数,并把该文件的package声明为该子目录的名称;
参考:https://blog.csdn.net/deroy/article/details/123021040
5)注意事项:函数名应该是首字母大写,否则被引用时会报错。见:https://blog.csdn.net/wangzhezhilu001/article/details/91504007
6)引用项目下自己写的模块时,方法为:
首先在项目的根目录下执行命令:go mod init 英文项目名称(例如my_proj),my_proj名称即为该项目的根package name,
然后根目录下的包含main函数的某文件,例如run.go,若run.go要引用子目录utils下的file_utils.go文件中定义的CopyFile(xxx)函数(注意被引用的函数名一定要首字母大写),
则在run.go中这样写:import "my_proj/utils",使用时为utils.CopyFile(xxx)