Go提供了几种基本但非必需的类型,比如切片,接口和通道。
Go简单不是它的主要卖点,做为一门静态语言,Go却和很多动态脚本语言一样得灵活是Go的主要卖点,节省内存、程序启动快和代码执行速度快合在一块儿是Go的另一个主要卖点,Go是一门编译型的和静态的编程语言。 Go诞生于谷歌研究院
内置并发编程支持:
使用协程(goroutine)做为基本的计算单元。轻松地创建协程。
使用通道(channel)来实现协程间的同步和通信。
内置了映射(map)和切片(slice)类型。
支持多态(polymorphism)。
使用接口(interface)来实现裝盒(value boxing)和反射(reflection)。
支持指针。
支持函数闭包(closure)。
支持方法。
支持延迟函数调用(defer)。
支持类型内嵌(type embedding)。
支持类型推断(type deduction or type inference)。
内存安全。
自动垃圾回收。
良好的代码跨平台性。
编译时间的长短是开发愉悦度的一个重要因素。 编译时间短是很多程序员喜欢Go的一个原因
运行第一个go程序
## 运行go程序
go run
## 打包go程序,生成可执行文件
go build
## 来安装一个第三方Go程序的最新版本,(至GOBIIN目录) 在Go官方工具链1.16版本之前,对应的命令是go get -u example.com/program(现在已经被废弃而不再推荐被使用了
go install
## 检查可能的代码逻辑错误
go vet
## 获取网络的依赖包,用拉添加、升级、降级或者删除单个依赖,不如go mod tidy常用?
go get -u
## 生成go.mod 文件,依赖到的模块
go mod init Demo.go
## 扫描当前项目中的所有代码来添加未被记录的依赖至go.mod文件或从go.mod文件中删除不再被使用的依赖
go mod tidy
## 格式化源文件代码
go fmt Demo.go
## 运行单元和基准测试用例
go test
## 查看Go代码库包的文档
go doc
## 运行go help aSubCommand来查看一个子命令aSubCommand的帮助信息
go help
GOROOT和GOPATH
GOROOT是Go语言环境的安装路径,在安装开发环境时已经确定 GOPATH是当前项目工程的开发路径,GOPATH可以有多个,每个GOPATH下的一般有三个包,pkg、src和bin,src用于存放项目工程的源代码文件,pkg文件夹下的文件在编译时自动生成,bin目录下生成*.exe的可执行文件。 PS:每一个GOPATH下都可以有pkg、src、bin三个文件夹,当设置多个