Golang Learning
Golang Learning
MatsumotoChrikk
这个作者很懒,什么都没留下…
展开
-
Go项目布局
internal目录下放不希望外部访问的代码(业务)Go项目布局,自举语言,源码是靠Go自己实现的。所以Go源码可以参考作为项目布局。common目录下可以放直接。etc放配置文件yaml。import外部访问的。源码放在src目录下。原创 2024-08-19 16:38:22 · 97 阅读 · 0 评论 -
GoModule
所以:如果某一天mux包发布了v2.0.0版本,那么这时候主版本就是2,已经与v1.8.1和v1.7.1的主版本号不同了,那么v2.0.0与v1.8.1和v1.7.1就是不兼容的包版本。在项目开发中,如果升级了某个包的版本且新版本的包存在一些问题,比如对服务的整体性能产生了影响,我们可以手动的将它降级为之前发布的某个兼容版本。但是go get就可以下载依赖包,但是此时下载是最新的,如果后续更新引入了不兼容代码,那么将会无法编译成功。其实,在Go Module模式下,语义版本号主要由三部分组成,原创 2024-08-19 16:27:00 · 518 阅读 · 1 评论 -
Go第一个程序
并不是,因为程序启动要初始化,初始化内存,初始化栈,初始化调度器,这些都是go汇编完成的,而main函数是go的第一个执行的goroutine。可以提升代码的灵活性,重构也更容易,维护也没有负担。而且在编译期完成,不会对运行效率产生任何影响。上述很简单,如何使用os包获取命令行参数呢?:=只能在局部作用域内,而不能在全局,全局用。不用显示定义str类型,直接用:=即可。main包一个go程序只允许有一个。Go的程序执行入口是main函数吗?go程序可以任意导入包。go的类型推断的好处?就用小写单词命名的。原创 2024-08-19 15:30:38 · 199 阅读 · 0 评论 -
Go环境搭建-开发工具
官方下载地址:https://go.dev/dl/windows会自动设置环境变量,直接使用即可。截至2024.8.19,现有的版本是1.23。GOPRIVATE 安全校验,公司内部有用。GOMODCACHE 存储下载的包路径。1.11版本开始支持module。1.16版本默认开启module。GO111MODULE 构建模式。GOPROXY 配置代理。GOPATH 老构建模式。1.18版本支持泛型。原创 2024-08-19 15:09:59 · 81 阅读 · 0 评论