Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。
1.1 go语言特点
- 背靠大厂,google背书,可靠
- 天生支持并发(最显著特点)
- 语法简单,容易上手
- 内置runtime,支持垃圾回收
- 可直接编译成机器码,不依赖其他库
- 丰富的标准库
- 跨平台编译
1.2 go语言的应用领域
- 服务器编程
- 开发云平台
- 区块链
- 分布式系统
- 网络编程
2.1 windows平台
个人使用采用的是window自身支持的wsl,适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境。
2.1.1 下载安装并配置环境变量
https://golang.google.cn/dl/
安装包下载完毕,在C盘下创建go的目录
c:/go
C:\go\bin
go version
go version
go version go1.18.2 windows/amd64
2.1.2 配置go环境
set GO111MODULE="on"
set GOPROXY="http://goproxy.cn"
go env
2.1.3 安装配置git
https://www.git-scm.com/download/
下载并安装,配置都选择【默认】即可
C:\Program Files\Git\bin
git version
git version
git version 2.36.1.windows.1
2.1.4 goroot和gopath
goroot就是go安装的根目录,gopath就是go项目所在的路径,高版本go项目已经不再依赖gopath来管理项目,使用go mod来管理项目。
2.2 Linux平台
如果不是要在Linux平台敲go代码就不需要在Linux平台安装Go,我们开发机上写好的go代码只需要跨平台编译(详见文章末尾的跨平台编译)好之后就可以拷贝到Linux服务器上运行了,这也是go程序跨平台易部署的优势。
go1.14.1.linux-amd64.tar.gz
wget https://dl.google.com/go/go1.14.1.linux-amd64.tar.gz
/usr/local
tar -zxvf go1.14.1.linux-amd64.tar.gz -C /usr/local # 解压
sudo/usr/local/go
/etc/profile$HOME/.profile
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
/etc/profile$HOME/.profile$HOME/.profile
go version
go version go1.16.6 linux/amd64
2.3 Mac平台
/usr/local/go
go version
go version go1.16.6 darwin/amd64
3. go开发工具
golang的开发工具有很多,例如:
- vim
- sublime
- atom
- LiteIDE
- eclipse
- goland
- vscode(推荐)
3.1 使用goland开发go应用
https://www.jetbrains.com/go/
3.2 使用vscode开发go应用
https://code.visualstudio.com/https://marketplace.visualstudio.com/items?itemName=golang.go
3.2.1 安装插件
- go 插件
- code Runner 插件
3.2.2 测试
package main
import "fmt"
func main() {
fmt.Println("hello go")
}
执行效果如下
4. go常用命令go help
- build: 编译包和依赖
- clean: 移除对象文件
- doc: 显示包或者符号的文档
- env: 打印go的环境信息
- bug: 启动错误报告
- fix: 运行go tool fix
- fmt: 运行gofmt进行格式化
- generate: 从processing source生成go文件
- get: 下载并安装包和依赖
- install: 编译并安装包和依赖
- list: 列出包
- run: 编译并运行go程序
- test: 运行测试
- tool: 运行go提供的工具
- version: 显示go的版本
- vet: 运行go tool vet
快捷键位置
File->Preferences->Keyboard Shortcuts
常用快捷键
1. 行注释 ctrl + /
2. 块注释 shift+alt+a (可以修改为ctrl+shift+/)
3. ctrl+a 全选
4. ctrl+c 复制
5. ctrl+v 粘贴
6. ctrl+shift+k 删除行
7. ctrl+e查找文件
8. ctrl+shift+p 打开设置命令行
修改快捷键
File->Preferences->Keyboard Shortcuts
快速生成代码片段
pkgm main包+main主函数
ff fmt.Printf("", var)
for for i := 0; i < count; i++ {}
forr for _, v := range v {}
fmain func main() {}
a.print! fmt.Printf("a: %v\n", a)