1. go语言简介

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。

1.1 go语言特点

  1. 背靠大厂,google背书,可靠
  2. 天生支持并发(最显著特点)
  3. 语法简单,容易上手
  4. 内置runtime,支持垃圾回收
  5. 可直接编译成机器码,不依赖其他库
  6. 丰富的标准库
  7. 跨平台编译

1.2 go语言的应用领域

  1. 服务器编程
  2. 开发云平台
  3. 区块链
  4. 分布式系统
  5. 网络编程
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的开发工具有很多,例如:

  1. vim
  2. sublime
  3. atom
  4. LiteIDE
  5. eclipse
  6. goland
  7. 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
5. golang开发vscode快捷键

快捷键位置

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)