Go语言基础语法
一、
1. Go语言优点:
高性能、高并发
语法简单、学习曲线平缓
丰富的标准库
完善的工具链
静态链接
快速编译
跨平台
垃圾回收
2. go语言中if else写法与c语言类似,但后面没有括号;Golang里的if,后面必须接大括号
3. Go里只有唯一的一种for循环
4. Go语言里的switch更强大,可以使用任意的变量类型,甚至可以用来取代if else语句
5. append的结果赋值为原数组
6. range:对于一个slice或者一个map的话,我们可以用range来快速遍历
二、实战
根据步骤完成了实战,在实战中有一些地方不理解,应该是我自己基础的问题,还需要进一步研究。
Go 语言工程实践
一、Go 语言进阶与依赖管理
01语言进阶
1.
Go可以充分发挥多核优势,高效运行
2.
3.
make(chan元素类型,[])
4.
5.
计数器:开启协程+1;执行结束-1;主协程阻塞直到计数器为0.
6.
02依赖管理
1. 演进:GOPATH→Go Vendor→Go Module
不同环境(项目)依赖的版本不同
控制依赖库的版本
2. GOPATH
优点:项目代码直接依赖src下的代码
go get 下载最新版本的包到src目录下
弊端:无法实现package的多版本控制
3. Go Vendor
优点:通过每个项目引入一份依赖的副本,解决了多个项目需要同一个package依赖的冲突问题
弊端:无法控制依赖的版本。更新项目又可能出现依赖冲突,导致编译出错。
4. Go Module
通过go.mod文件管理依赖包版本
通过go get/go mod指令工具管理依赖包
5. 依赖管理三要素
a. 配置文件,描述依赖 go.mod
b. 中心仓库管理依赖库 Proxy
c. 本地工具 go get/mod