Go语言笔记整理(一) | 青训营笔记

50 阅读2分钟

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