0. go 语言简介
终于要对 go 下手了……
下面是 go 官网(中国)对 go 的四点简介。
翻译——解读
使用 Go 构建简单、安全、可扩展的系统 —— (可扩展包括功能与性能)
✓ Google 支持的开源语言 —— 娘家强大
✓ 容易学习,超适合团队 —— 个人认为,也是小团队,甚至个人创业,拉单的好语言
✓ 内置强大并发和强大的标准库 —— 标准库能干的事极多,C/C++ 程序员流出口水
✓ 极大丰富的生态系统,包括合作伙伴、社区及配套工具 —— 确实如此,毫无夸张
d2school 很快就会有免费的 Go 语言学习第一课 《简单能干,Go 语言》,欢迎关注选修。
1. 下载、安装
从官网进入下载页面,如果你的Windows操作系统不是 64位 的话……建议是时候花笔钱换台新电脑了……或者下载其 32 位版本,否则就应该下载对应的 64位 的 .msi 的安装程序。
Linux 已经自行集成 go 语言,所以相关操作会更简单,我们在另外课堂中讲解
运行下载后的 .msi 程序,一路 “下一步”即可,除非你想换安装目录,否则,.msi 安装程序将有以下操作:
- 把 go 语言安装到
C:\Program Files\go
目录,go 的主要可执行文件在此; - 在系统环境中,添加名为
GOPATH
全局变量,其值是当前 Windows 用户目录下,一个名为 go 的目录; - 将第二步目录中的 \bin 加入当前 Windows 用户目录的可执行程序 Path 变量,这个 bin 目录里是一些 go 编程的配套的自动化工具。
注意:以上操作中的不少步骤,要求你必须是一个 Windows Administrator 用户(系统管理员,如果你不知道自己是不是,那么通常你就是);并且会在安装过程中会弹窗要求你授权。
2. 环境变量设置
一、理解 GOPATH
安装后,打开 Windows 环境变量设置的对话框,你将看到安装程序自动添加的 GOPATH 变量:
官方文档对 GOPATH 变量 的介绍
GOPATH 环境变量指定了你的 Go 工作区的位置。如果没有设置 GOPATH,在 Windows 上默认为 % USERPROFILE%\go。设置 GOPATH 对于组织你的 Go 项目和管理依赖项至关重要。
实际编辑,你会发现它的值其实带有变量,应为:%USERPROFILE%\go
。
二、配置 GOPROXY (重要)
由于某此网络原因,我们需要配置一个网络代理站点,用于方便访问 GO 官方的某些网络资源。
在刚才的环境变量对话框中,通过 “新建” 按钮,添加变量名为 GOPROXY
(全大写),变量值为 https://goproxy.io,direct
的变量,如图:
其中的网址,有如下备选:
- https://goproxy.cn/
- https://mirrors.aliyun.com/goproxy/
(注意,并不是所有代理网址都能在浏览器里打开)
其中 direct 意为 “直接”,它的作用是:当代理偶尔不可用时,go 工具将尝试绕过代理,直接从真实的 go 官网去下载……嗯,虽然显然不可能,留个念想吧……
3. 查看版本
打开控制台直接输入 go version
,应能看到你安装的 golang 版本。
4. 课堂视频
好,现在你可以选择:先按上述文字内容开始安装 golang ,然后再来补看本课完整视频,也可以先看视频,最后再一把梭完成本课学习所需要的全部操作。
5. VSCODE 配置与设置
第一步,要为 go 开发创建独立(相对隔离的)配置,就取名为 Golang,并为之设置一个有辨识度的颜色主题:
第二步,安装名为 go 的扩展:
第三步,升级 GO 自带的开发(自动化)工具
GO 拥有极好的工程开发友好度,它自带很多工具,比如,可帮我们格式化代码,帮我们自动从网上拉取当前开发需要的模块等等……
第一次安装,它们需要升级。
在 VSCode 里,按下 Ctrl + Shift + P (仅针对 Windows环境),弹出命令面板,输入:Go: Install Update Tools
,然后选中所有工具,确定后开始升级……
升级过程如果实在太慢,或者因网络原因失败,请检查前面配置的 GOPROXY 环境变量的值是否正确,可考虑更换一个,注意,每次更换后,最好重启一下 VSCode。
完成升级后,你将在 VSCode 的终端里,看到一句双关语:“You are ready to Go. :)” 。其他的不说,那个笑脸深深地打动了我……
6. Hello Go!
(一)在 Windows 里创建一个全新文件夹,取名为 “HelloGo”,用 VSCode 打开,然后切换到前面新加的 Golang 配置(Profile)下。
(二)打开或新建 VSCode 的终端(如不熟悉,请在 VSCode 主菜单 “终端” 里找),在 HelloGo 目录内运行: go mod init sample-go-app 。
其中 sample-go-app 是要生成的 go 程序的名字,你也可以为它换一个名字,但最好不要带有中文及空格 ,比如还叫 “HelloGo”。
(三)编写代码:在项目目录内,新建 main.go 文件,输入如下代码:
package main
import "fmt"
func main() { // { 必须在行末
hello := "Hello Go! 你好 Go 语言!" // := ,而不是 =
fmt.Println(hello) // 行末并没有分号,上一行也一样
}
在 VSCode 左侧边栏切换到调试页,运行或调试你的第一个 Go 程序吧……
……
咦?运行成功了,但目录下没有生成(扩展名为 .exe)的可执行程序?
没错,因为语法超级简单,所以 golang 经常假装自己是 “脚本语言”,而 golang 的编译器则 cosplay 自己是一个解释器……直接读入“脚本语言” 就 “解释着” 运行起来了……(实际还是编译,只是编译后的文件会随便丢在某个临时目录下……)
这一对还真能玩,而我们,不过是人家 Play 中的一环。