Go 官方是有一个在线教程 A Tour of Go,可以在线学习 Go 的编程,并且有中文版。英文原版页面如下:

出人意料的是,Go 提供了离线版(各个语言都有),下载安装之后就可以在本地编译运行查看结果,不用联网使用远程服务器,这样提高了效率和性能(关于这方面的详细内容后面会单独有一节对比的)。

安装离线版前的准备

安装离线版之前,首先你需要在本地安装 Go,因为编译是在本地进行的。其次需要准备一个工作空间,用来存放下载的模块和源代码,以及编译后的二进制执行文件。

安装 Go

安装 Go 就不多说了,你使用软件包管理工具直接安装也好,官网下载(https://go.dev/dl/)使用 GUI 安装器安装也好,都很容易。

设置工作空间(worksapce)

GOPATH

工作空间的结构一般如下:

其中一般会有三个目录:

  • bin:存放构建的二进制执行文件;
  • pkg:存放的是一些模块、包;
  • src:存放 Go 源代码。

所以可以在你想要的地方创建这个目录和其中三个目录:

$ mkdir workspace
$ cd workspace
$ mkdir bin pkg src
.bashrc.bash_profile.zshenvGOPATH
export GOPATH=~/Desktop/go
source 配置文件

温馨提示

在安装离线版之前,需要说明一下:尽量安装英文原版,然后使用浏览器机翻。其他语言版本更新频率比较不理想,会导致出现一些问题。

比如说如果你去中文版的源码(https://github.com/Go-zh/tour)看,里面说么安装方法是:

$ go get -u github.com/Go-zh/tour
go getgo install
$ go install github.com/Go-zh/tour@latest

而且中文版很久没有更新了,使用的时候可能会有些问题。如果你英文不是很好,建议使用英文版加浏览器的机翻也够用。

bintourgo clean -modcache

安装离线版

GOPATHGOPATH
$ go install golang.org/x/website/tour@latest
@latestlatest

如果你遇到了“Request Refused”之类的错误,那么在确定输入地址没有错误的情况下,稍等一会再试试看,有时候网络问题也会导致请求被拒绝。如果一直不行可以尝试更改 DNS 或者其他方法。

使用离线版

bintour
$ cd $GOPATH/bin
$ ls
tour

运行该可执行文件即可在本地运行 A Tour of Go,会自动在默认浏览器中打开网页http://127.0.0.1:3999/basics/1,如下:

go run

在线版和离线版的性能区别

如果网速好的话,二者在使用的时候几乎没有太大的区别。

比如说使用快速排序排列 35 个整数并且进行输出,二者速度几乎一样(左侧为离线版,右侧为在线版):

虽然本地版和在线版二者都有 CPU 使用时间和内存大小限制,但是本地版要比在线版本宽松多了。

timeout running programgo run

希望能帮到有需要的人~