Golang随笔

=============================

Golang

go module

早期go语言单纯使用GOPATH管理依赖,但不方便管理依赖的多个版本;后来增加vendor,允许把项目依赖连同项目源码一同管理;Go1.11引入了go module,Go1.14使go module成熟。

三个阶段: GOPATH => go vnedor => go module
1.GOROOT:GO编译器和GO标准库,属于GO顶级目录
2.GOPATH :GO项目是由一个或多个package组成。

package:标准库、第三方库、项目私有库。
标准库位于GOROOT下,第三方库项目私有库位于GOPATH下。
GOPATH只是用户工作空间目录的环境变量,属于用户域范畴。用户的项目需要位于GOPATH/src下。
当某个package需要引用其他包时,查找顺序:GOROOT/src、GOPATH/src。

3.vendor:建议每个项目下只在项目根目录下有一个vendor目录,来存放需要的第三方库。

当某个package需要引用其他包时,查找顺序:vendor、GOROOT/src、GOPATH/src。
缺点:存在项目体积变大、项目依赖关系不清晰、依赖包升级不方便。

4.Go Module:Go1.11采用新方案解决依赖管理,推出Go Module。

解决问题:准确记录项目依赖、可重复构建
module:项目。包含一个或多个package。
仓库、module、package关系:一个仓库包含一个或多个module(推荐一个库包含一个module)、每个module包含一个或多个package、每个package包含一个或多个源文件。
module命名规范:.....
go.mod文件:通过指令声明module信息。module、require、replace、exclude。 
go.sum文件:通过记录依赖包的hash值。

viper

链接: viper

seelog

链接: seelog

net/http

HTTP

UDP

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值