一、设计初衷
针对其他语言的痛点进行设计
并加入并发编程
为大数据,微服务,并发而生的通用编程语言
二、特点
没有“对象”,没有继承多态,没有泛型,没有 try/catch
有接口,函数式编程,CSP 并发模型(goroutine + channel)
三、学习资料
Go 语言中文网:https://studygolang.com
IDE:GoLand、liteIDE
四、变量
$GOPATH:在 1.11 之前它是我们书写项目的工作目录,在1.11 之后它内部存储的是我们公共go.mod 下载的依赖包
$GOROOT:go 语言的安装目录,不需要我们配置
其他打包时候会用到的
$GOARCH:表示目标机器的处理器架构,它的值可以是 386、amd64 或 arm
$GOOS:表示目标机器的操作系统,它的值可以是 darwin、 freebsd、linux 或 windows
$GOARM:专门针对基于 arm 架构的处理器,它的值可以是5 或 6,默认为 6
$GOMAXPROCS:用于设置应用程序可使用的处理器个数与核数
GOPROXY:
GO111MODULE:
五、项目结构
官方建议结构 pgk(包) bin(可执行文件) src(项目代码)
1.11 版本以后,可以随意自己的结构,建议遵循官方
一个 go 项目必须有一个 main 包、一个 main 函数
六、注释
// 单行注释
/* 范围注释*/