通过示例学习 Go:第一部分 - 介绍和安装
为什么选择 Golang?
我曾从事 Java 开发十年,六年前发现了Golang(又名 Go),并深深爱上了它的简洁性和学习曲线。用 Go 创建应用程序很容易,但你必须深入学习才能避免掉入某些陷阱 ^^。
我喜欢通过示例进行解释,因此在这个新系列的文章中,我将尝试在每篇文章中通过具体的应用向您介绍 Go。
让我们以先决条件开始这个系列;-)。
安装
首先要做的是在本地计算机上安装 Golang。您可以按照官方网站上的安装步骤进行操作,但我建议您安装并使用G —— 一个简单的 Go 版本管理器,它允许您通过指定所需的版本来安装和更新 Go 版本。
对于 bash:
curl -sSL https://git.io/g-install | sh -s -- bash
对于 zsh:
curl -sSL https://git.io/g-install | sh -s -- zsh
这将下载g
脚本,将其放入 中$GOPATH/bin/
,赋予其执行权限chmod
,并配置默认 shell 的初始化文件,设置GOPATH
&GOROOT
环境变量并添加$GOPATH/bin
到PATH
。
然后系统会提示您安装最新版本的 go;您可以跳过此步骤并g
稍后安装您喜欢的版本。
注意:您必须重新启动当前的 shell 会话才能读取这些新的环境变量,以便使用g
或go
。
在我这边,我已经有一个别名g=git
,所以我在文件中添加了另一个别名.zshrc
:
alias ggovm="$GOPATH/bin/g"; # g-install: do NOT edit, see https://github.com/stefanmaric/g
用法:
$ g -h
Usage: g [COMMAND] [options] [args]
Commands:
g Open interactive UI with downloaded versions
g install latest Download and set the latest go release
g install <version> Download and set go <version>
g download <version> Download go <version>
g set <version> Switch to go <version>
g run <version> Run a given version of go
g which <version> Output bin path for <version>
g remove <version ...> Remove the given version(s)
g prune Remove all versions except the current version
g list Output downloaded go versions
g list-all Output all available, remote go versions
g self-upgrade Upgrades g to the latest version
g help Display help information, same as g --help
Options:
-h, --help Display help information and exit
-v, --version Output current version of g and exit
-q, --quiet Suppress almost all output
-c, --no-color Force disabled color output
-y, --non-interactive Prevent prompts
-o, --os Override operating system
-a, --arch Override system architecture
-u, --unstable Include unstable versions in list
g
我们特别感兴趣的命令是命令,g install
我们可以像这样使用它:
$ g install [version]
您也可以直接安装最新版本的 Go:
$ g install latest
安装:
$ g install 1.18.4
现在我们可以检查当前的 Go 版本:
$ go version
go version go1.18.4 darwin/arm64
如果稍后您想要切换到之前安装的另一个版本的 Go,则可以使用以下g
命令轻松切换:
$ g
1.13
> 1.18.4
结论
太棒了!
现在我们知道了如何安装 Go 以及在不同版本之间切换。现在我们可以创建我们的第一个应用程序了!