go项目工程化构建:package,module

参考:https://www.jianshu.com/p/07ffc5827b26(package和module简介)

实践总结:

1,统一使用模块管理包,包属于某个模块

2,main包是一个很特殊的包,且main函数必须在main包里面,同目录同main包不同文件下的代码,不能直接调用,需要一起编译才能调用go run *.go(window的cmd不支持)

3,包其实是按模块,目录,包名一起引入的

4,包其实可以把一个目录当成一个文件,不包含子目录

package包

参考:https://www.yisu.com/zixun/13079.html(package包的使用)

https://studygolang.com/articles/27316(Main包下多个文件的相互调用)

内嵌package:

1,子目录可以有新的包名

2,子目录也可以和父母的报名一样,但是使用的时候需要使用别名

3,同一个目录里面的包名必须相同,虽然包名可以和目录名不同

module模块:go官方包管理器

参考:https://www.jianshu.com/p/760c97ff644c(go mod 的使用)

基本步骤

go mod init name
go mode tidy

使用

1,必须在含有go.mod的目录中执行go命令。否则模块管路无效

2,可以在含有go.mod的目录的子目录里面执行go命令

3,go module支持多版本共存

原文地址:https://www.cnblogs.com/tkzc2013/p/15127293.html