这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天
(内容根据字节跳动青训营课程内容以及自己的理解编写)
近期将日更这几个主题的文章,欢迎关注!
- Kitex
- Hertx
- go的测试环节
- goFrame
- Hertz中间件
- Hertz路由
Go依赖管理
开发过程中使用他人的库是不可能的
正如牛顿所说,他只是站在巨人的肩膀上,go语言发展至今涌现出很多性能优良的库,还有一些c的库可以复用。
go依赖管理发展历程
Gopath
GoPath有个弊端,用的库的版本不一样的话,就会寄
Go vender
这个的缺点也是以前java开发的头疼点
依赖冲突
Go Module
按照套路来说,第三个基本就是正解了
Go module
代码中的go.mod:
可以类比java中的maven
eg:
依赖管理单元里面,比如你是从github哪里拿的源码,可以写/github/...
require里面其实和module是对应的
这里的版本号分两种:
indirect关键词
A依赖的B,B依赖的C,那么A对B是直接依赖,A对C是间接依赖
去哪儿下依赖
万一仓库作者对代码进行了增删改查了,我们拉到的依赖就会不稳定
解决方案:(缓存、适配器)
架构师流传一句话,没有什么是加一层架构没法解决的,有的话就加两层。这里的proxy也是一个道理