这是我参与「第五届青训营」伴学笔记创作活动的第二天,下面是我作为一个初学者第二天学习go语言的一些心得和笔记。
一.GO语言进阶与依赖管理
通过工程实践来,来开发编程视角,具体了解go语言高并发的一个本质 go可以充分发挥多核优势。
1.1 goroutine
线程是比较消耗系统资源的内核态,线程可以跑多个协程,而协程是用户态,比较轻量级。 比如要快速打印,开多个协程去打印,开协程在调用函数的时候,只需要在前面添加一个关键字go。
协程之间的通信共享内存 ,chanel是一种引用类型,需要使用make关键字。
例如:无缓冲通道 make ( *chan int* ) 可能会同步,有缓冲通道 make( chan int,2)
src指的是源文件 (source),dest指的是目标,:=是声明变量并赋值,由系统自动推算类型,不需要var关键字对变量进行声明。还学习了项目开发避免共享内存,
2.1.1 环境变量GOPATH是一个工作区,目录下有bin项目编译的二进制文件,pkg是项目编译的中间产物,加速编译,src则是存储项目源码的地方。弊端是无法实现package多版本的控制,通过Govendor增加一个vendor文件。我们需要了解依赖管理的三要素 ,一是通过.mod 配置文件 ,描述依赖 mod本地工具进行一些管理。
二.Go语言工程实践之测试
首先介绍一些项目上的失误和损失做好测试,就可以避免一些失误。分为单元测试 覆盖率在一半以上 基准测试,随机选择执行服务器, mock测试等等。 同时我也自学了一些go语言的基础,为以后打下坚实的基础。 定义字符串类型变量
var type
同时定义两个变量
var ( name string
age int
addr string)
短变量的声明与初始化使用:=
打印内存地址可以用 %d打出其数字类型,%p查询内存地址。fmt. P rintf ( “num:%d, 内存地址:%p,num,&num)主要要写两个变量的名字分别一一对应,其中取地址符是&
最后,通过今天的学习我对go语言有了新一步理解,并逐渐入门一个新的语言。今天充分了解了go语言的高并发状态带来的高效,同时学习为了避免错误的多种测试,使我受益匪浅。