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 mod tidy

使用

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

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

3,go module支持多版本共存

 

posted @   指令跳动  阅读(212)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示