go 速成
Go 语言有什么用?
参考视频 1:Go in 100 Seconds
参考视频 2:聊聊从 python 到 go 的感受
总结:Go 是高性能服务器语言,在服务器、容器、区块链领域用的比较多,相较于 Python, Go 的性能很快很高,堪比 C 语言
推荐个有趣的网站:Go vs. Python
下载相关
官方网站:https://go.dev/learn/
官方下载地址:https://go.dev/dl/
我下载的是:go 1.18.1.windows-amd64 版本
PS:现在我只是使用一个版本,如果未来需要使用多个版本,类似于 Anaconda 那样,我会重新卸掉,并学习管理 Go 安装(安装多个 Go 版本)
配置
我使用的代码编辑器是 VS Code,配置步骤如下:
- 在系统环境变量中添加
GOPROXY
,值为https://proxy.golang.com.cn,direct
- 在系统环境变量中添加
GO111MODULE
,值为on
- 设置
GOPATH
(工作目录),因为每次设置的可能不同,所以不需要在系统环境中设置
# 打开终端,输入下面的命令
go env -w GOPATH=C:\Users\LILANJUN\Desktop\Temporary
- 在工作目录打开 VS Code,创建一个 test.go,系统右下角会提醒你安装插件,全部点击 Install All 即可
工作目录具体如下:
D:\MyWorks <<--- GOPATH 指向的位置
--src <<--- 项目源代码放置在此文件夹
--HelloWorld <<--- 我们项目源代码所在的文件夹
--vendor <<--- 第三方开源代码文件夹
--github.com
-- ...
--pkg <<--- 编译的中间文件放在此文件夹,Go 编译器自动生成此文件夹
--bin <<--- 编译的目标文件放在此文件夹,Go 编译器自动生成此文件夹
使用
参考文章:Go语言编译和工具链
命令行
# 查看版本
go version
# 查看环境
go env
# 运行
go run main.go
# 构建
go build + ...
# 下载
# go install 输出目录始终为 GOPATH 下的 bin 目录(生成的可执行文件)
go install + ...
demo 演示
// 包名,一般也是 go 文件名
package main
// 导入别的包
import (
"fmt"
"math/rand"
)
// 开始运行函数名与包名一致
func main() {
fmt.Println("My favorite number is", rand.Intn(10))
}
基础语法
官方教程:https://tour.go-zh.org/welcome/1
其中包含了:
- 包、变量和函数
- 流程控制语句:for、if、else、switch 和 defer
- 更多类型:struct、slice 和映射
- 方法和接口
- 并发
PS:建议直接看官方教程,写得超级棒,忘了就看
喜欢划水摸鱼的废人