Go语言优势 天生支持高并发 可以自由的去控制其并发量,也就是携程,通过go routine关键字就行了。 自动垃圾回收机制 内存的清理 不需要环境依赖 在运行go程序的时候是以二进制的方式进行运
Go语言优势
可以自由的去控制其并发量,也就是携程,通过go routine关键字就行了。
在运行go程序的时候是以二进制的方式进行运行,go build之后是生成二进制文件。 像windows的exec一样,直接丢到Linux上面执行就行了,不需要安装任何环境。
下载 Go 配置编译环境如果要编写和阅读代码,首先要编译安装这个语言的编译环境,
GOROOT
GOPATH
如果是新环境需要创建 /Users/lulei/go/src/github.com这个目录的,在这个目录里面就可以去克隆GitHub的地址。
其他常用变量 GOOS,GOARCH,GOPROXY 国内用户建议设置goproxy:export GOPROXY=https://goproxy.cn(因为防火墙的原因,好多依赖包是无法直接拉取的,设置这个那么会通过这个代理去拉) 配置 GOPROXYGo默认的GOPROXY的值是:GOPROXY=https://proxy.golang.org,direct。 这个goproxy在使用go get安装第三方库的时候会报错,导致无法下载成功,所以必须要修改一下。
IDE 设置(VS Code)下载并安装 Visual Studio Code https://code.visualstudio.com/download 安装 Go 语言插件 https://marketplace.visualstudio.com/items?itemName=golang.go 其他可选项
一些基本命令项目执行方式有两种,第一种go build,生成二进制文件main.exe,直接执行即可。
其次就是go run main.go,先将main.go去编译了,编译好之后直接执行,然后可执行文件是不保留的。
Go buildGo 语言不支持动态链接,因此编译时会将所有依赖编译进同一个二进制文件。(无论拷贝到任何环境里面,因为所有依赖都会被编译到一起,所以可以顺利运行的,代价就是安装包会大一些) 指定输出目录。(go build 将go语言的源代码编译成一个二进制文件) go build –o bin/mybinary .
在构建的时候源代码分离 常用环境变量设置编译操作系统和 CPU 架构。
全支持列表。
Go testGo 语言原生自带测试
写任何程序的时候,都需要去做单元测试,如何验证你写的代码是否健壮呢? 一种是手工测试,手工测试会有问题,当你的程序不断的改进修改,重复的手工测试会使得你的整个开发效率非常低,所以在整个开发过程当中都会有要求,我写的业务逻辑都是需要对应编写测试用例的,这个测试用例第一步就是单元测试。 单元测试是面向代码的,比如说你写了一个函数,你需要验证这个函数在各种情况下的行为是否正常,你们就需要写很多的测试用例,go语言原生自带单元测试的支持。
编写测试用例的时候,会将单测的代码和主代码放在一个包,这样的好处是私有函数,私有的变量都可以在单测里面被引用到。 Go vet有些错误并不明显,这个错误并不会影响编译。但是它本身的逻辑会有一些小的瑕疵,在某些情况下可能会引发一些问题,针对这些情况,提供了上面这条命令。 它会检测出程序运行当中可能出现的问题,比如下面????这些。 在多线程里面,哪个线程先执行,哪个线程后执行,这是不能确保的,如果主线程启动了一些子线程去运行,主线程立马退出了,很可能子线程还没有被正确的执行,就会被一起退出。 |
2022-04-28
2022-04-21
2022-05-13
2022-08-17
2024-05-07