包和封装
1、封装:
1-1、名字一般使用CamelCase。
1-2、首字母大写:pubilc。创建的方法可以被其他包使用。
1-3、首字母小写:private。创建的方法只能在包内引用,无法在包外应用。
1-4、简而言之你写的包,需要被其他包调用就首字母大写开头写方法。不需要,只在包内用,就首字母小写开头写方法。
2、包:
2-1、每个目录就是一个包,包名和目录名可以不一样。
2-2、main包包含可执行入口。
2-3、为结构定义的方法必须放在同一个包内,可以是不同的文件。
2-4、利用“定义别名”或者“使用组合”的方法,扩充系统类型或者别人的类型:。
3、如何扩充系统类型或者别人的类型:
3-1、定义别名:最简单。缺点:转为组合,需要修改大量代码。
3-2、使用组合:最常用。
3-3、使用内嵌来扩展已有类型:需要省下许多代码。
依赖管理
1、依赖管理的三个阶段:GOPATH、GOVENDOR、go mod。
2、 GOVENDOR:
- 每个项目有自己的vendor目录,存放第三方库
- 大量第三方依赖管理工具:glide,dep,go,dep,…
3、 go mod的使用
1-1、由go命令统一的管理,用户不必关心目录结构。
1-2、初始化:go mod init
1-3、增加依赖:go get
1-4、更新依赖:
# go get [@v…]
# go mod tidy // 整理依赖,去掉不需要的
1-5、将旧项目迁移到go mod:
# go mod init
# go build ./…