1 Golang简介
Go(Golang)是Google的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go语言的语法与 C 相近,但功能上有:内存安全、GC(垃圾回收),结构形态及CSP-style并发计算。
Go语言的特点:
1.背靠大厂,google背书,可靠
2.天生支持并发(最显著特点)
3.语法简单,容易上手
4.内置runtime,支持垃圾回收
5.可直接编译成机器码,不依赖其他库
6.丰富的标准库
7.跨平台编译
Go语言的应用领域:服务器编程、开发云平台、区块链、分布式系统、网络编程。
使用Go语言的公司(项目):
| 公司 | 项目 |
|---|---|
| Kubernetes | |
| facebookgo | |
| 腾讯 | 蓝鲸平台、容器技术 |
| 百度 | 运维项目BFE |
| 京东 | 消息推送系统、云存储、京东商城 |
| 小米 | 运维监控系统、小米互娱、小米商城、小米视频、小米生态链 |
| 360 | 日志搜索系统Poseidon |
2 Go语言开发环境
2.1 windows平台
1.下载安装包并配置环境变量
下载地址:https://golang.google.cn/dl/
安装路径选择一个比较好找的路径,例如:D:\Go,其他安装都选择”下一步“即可。
安装完成后,把D:\Go\bin目录添加到环境变量(系统变量-Path中添加),这里就可以使用go了,在命令行输入 go version查看版本,输出结果如下所示。
C:\Users\bestv>go version
go version go1.26.2 windows/amd64
2.配置Go环境
使用go mod管理库,需要科学上网
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct
$env:GO111MODULE = "on"
$env:GOPROXY = "https://goproxy.cn"
3.安装配置git
下载地址:https://www.git-scm.com/download/
安装路径选择一个比较好找的路径,例如:D:\Git,其他安装都选择”下一步“即可。
安装完成后,把D:\Git\bin目录添加到环境变量(系统变量-Path中添加),这里就可以使用go了,在命令行输入 git version查看版本,输出结果如下所示。
C:\Users\bestv>git version
git version 2.54.0.windows.1
# 测试git拉取项目
# git clone相当于go get
C:\Users\bestv>git clone https://github.com/gin-gonic/gin.git
Cloning into 'gin'...
remote: Enumerating objects: 11207, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (83/83), done.
remote: Total 11207 (delta 100), reused 45 (delta 45), pack-reused 11079 (from 4)
Receiving objects: 100% (11207/11207), 10.39 MiB | 10.74 MiB/s, done.
Resolving deltas: 100% (6214/6214), done.

4.goroot和gopath
goroot就是go安装的根目录,gopath就是go项目所在的路径,高版本go项目已经不再依赖gopath来管理项目,使用go mod来管理项目。
2.2 Linux平台
如果不是要在Linux平台敲go代码就不需要在Linux平台安装Go,写好的go代码只需要跨平台编译好之后就可以拷贝到Linux服务器上运行,这也是go程序跨平台易部署的优势。
在版本选择页面选择并下载好go1.26.2.linux-amd64.tar.gz文件:
wget https://dl.google.com/go/go1.26.2.linux-amd64.tar.gz
将下载好的文件解压到/usr/local目录下:
tar -zxvf go1.26.2.linux-amd64.tar.gz -C /usr/local # 解压
如果提示没有权限,加上sudo以root用户的身份再运行。执行完就可以在/usr/local/下看到go目录了。
配置环境变量: Linux下有两个文件可以配置环境变量,其中/etc/profile是对所有用户生效的;$HOME/.profile是对当前用户生效的,根据自己的情况自行选择一个文件打开,添加如下两行代码,保存退出。
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
修改/etc/profile后要重启生效,修改$HOME/.profile后使用source命令加载$HOME/.profile文件即可生效。 检查:
~ go version
go version go1.26.2 linux/amd64
2.3 Mac平台
下载可执行文件版,直接点击下一步安装即可,默认会将go安装到/usr/local/go目录下。
上一步安装过程执行完毕后,可以打开终端窗口,输入go version命令,查看安装的Go版本。
go version go1.26.2 darwin/amd64
3 Golang开发工具
golang的开发工具有很多,例如:vim、sublime、atom、LiteIDE、eclipse、goland、vscode
1.使用goland开发Go应用
goland是一款付费的、功能强大的golang集成开发环境,是Jetbrain公司的产品。下载地址:https://www.jetbrains.com/go/ goland非常智能,几乎不需要配置,安装即用。
2.使用vscode开发Go应用
1.下载安装vscode https://code.visualstudio.com/
2.下载安装插件,参考文档:https://marketplace.visualstudio.com/items?itemName=golang.go
3.安装code runner运行脚本
# 快捷键:pkgm---创建主包和主方法 fp---打印的快速补齐
# 运行:1.go run main.go 2.安装code runner插件后直接运行
package main
import "fmt"
func main() {
fmt.Println("Hello,Go")
}

4 Golang常用命令
在终端中输入 go help 即可显示所有的 go 命令以及相应命令功能简介,主要有下面这些:
| 命令 | 说明 | 命令 | 说明 |
|---|---|---|---|
| build | 编译包和依赖 | list | 列出包 |
| clean | 移除对象文件 | run | 编译并运行go程序 |
| doc | 显示包或者符号的文档 | test | 运行测试 |
| env | 打印go的环境信息 | tool | 运行go提供的工具 |
| bug | 启动错误 | version | 显示go的版本 |
| fix | 运行go tool fix | vet | 运行go tool vet |
| fmt | 运行gofmt进行格式化 | generate | 从processing source生成go文件 |
| install | 编译并安装包和依赖 | get | 下载并安装包和依赖 |
参考文档:https://golang.org/doc/cmd
PS C:\Users\bestv\Desktop\go_pro> go run main.go
Hello,Go
PS C:\Users\bestv\Desktop\go_pro> go build main.go
PS C:\Users\bestv\Desktop\go_pro> go mod init go_pro
go: creating new go.mod: module go_pro
go: to add module requirements and sums:
go mod tidy
PS C:\Users\bestv\Desktop\go_pro> go get github.com/go-sql-driver/mysql
go: downloading github.com/go-sql-driver/mysql v1.10.0
go: downloading filippo.io/edwards25519 v1.2.0
go: added filippo.io/edwards25519 v1.2.0
go: added github.com/go-sql-driver/mysql v1.10.0
PS C:\Users\bestv\Desktop\go_pro> go list
go_pro
PS C:\Users\bestv\Desktop\go_pro> go version
go version go1.26.2 windows/amd64
PS C:\Users\bestv\Desktop\go_pro>
5 VSCode快捷键
1.快捷键位置:File->Preferences->Keyboard Shortcuts
2.常用快捷键
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 打开设置命令行
3.修改快捷键
1.打开快捷键 File->Preferences->Keyboard Shortcuts
2.双击要修改的快捷键
3.键盘输入想要使用的快捷键
4.快速生成代码片段
1.pkgm main包+main主函数
2.ff fmt.Printf("", var)
3.for for i := 0; i < count; i++ {}
4.forr for _, v := range v {}
5.fmain func main() {}
6.a.print! fmt.Printf("a: %v\\n", a)
6 编写Golang代码
1.代码组织
Go应用使用包和模块来组织代码,包对应到文件系统就是文件夹,模块就是**.go**的go源文件。一个包中会有多个模块,或者多个子包。
2.Go项目管理工具
早期的go项目使用gopath来管理项目,不方便而且容易出错,golang 1.11 开始使用gomod管理项目,当然还有第三方模块例如:govendor
3.实现步骤
3.1 创建项目:新建文件夹(Go_pro)
可通过在文件夹中通过cmd的方式,再输入code .以便于在vscode打开

3.2 初始化项目:通过go mod init 项目名去初始化项目
# go mod init 项目名
go mod init Go_pro

3.3 创建包:包名可以随意指定,一般包文件夹名称和包名是一致的
# user是包名
package user
func Hello() string {
return "Hello,Golang!"
}

3.4 创建模块与相互调用
package main
// 导入包user
import (
"Go_pro/user"
"fmt"
)
func main() {
// 调用方法 user.Hello().var!...
s := user.Hello()
fmt.Printf("s: %v\n", s)
// s := user.Hello()
// s.print! ===> fmt.Printf("s: %v\n", s)
}
