1. 下载软件包
到 Go 语言官网地址 下载 tar.gz 软件包,本人下载的软件包版本是 go1.14.2.linux-amd64.tar.gz
。
2. 解压软件包
将软件包解压到合适位置,本人解压到路径 /usr/local
目录下:
1 sudo tar -C /usr/local -xzf go1.14.2.linux-amd64.tar.gz
3. 添加环境变量
3.1 导入软件包路径
若配置该 Go 开发环境是针对整个系统的,则修改 /etc/profile
文件,在文件尾部添加以下代码,使之前下载的软件包解压路径添加到环境变量 $PATH
中;若配置该 Go 开发环境是针对当前用户的,则修改 $HOME/.bashrc
文件,在文件尾部添加以下代码,使之前下载的软件包解压路径添加到环境变量 $PATH
中;此外还需追加个人项目路径到环境变量 $GOPATH
中(用于后续进行 go 语言开发)。
1 2 export PATH=/usr/local/go/bin:$PATH export GOPATH=$HOME /go:$GOPATH
3.2 刷新环境变量
若修改的是 /etc/profile
文件,则使用 source 命令刷新该文件:
若修改的是 $HOME/.bashrc
文件,则使用 source 命令刷新该文件:
或者直接重启系统即可。
4. 配置 VSCode 环境
如果没有安装 VSCode 编辑器,则自行到官网地址 下载 deb 包安装即可。如果安装了 VSCode 编辑器,可能需要重新启动下以适应上文刷新了 $PATH
环境变量。
4.1 安装语言插件
到 VSCode 扩展商店中安装第三方 Go
语言插件即可。
4.2 安装开发工具包
按下快捷键 Ctrl+Shift+P
,输入并选中 Go:Install/Update Tools
,然后勾选弹出来的所有 Go 语言开发工具包,点击确认直接安装(【注】此方式需要科学上网)
如果无法科学上网,则可以按照如下两种方法配置 Go 模块代理(详细内容参见 Goproxy China 官方说明 )然后再重复上一步在 VSCode 安装所有 Go 语言开发工具包即可:
方法一:在终端下执行以下代码:
1 go env -w GOPROXY=https://goproxy.cn,direct
方法二:修改 /etc/profile
或 /$HOME/.bashrc
文件,追加以下代码并 source
刷新对应配置文件(同步骤 3 ):
1 export GOPROXY=https://goproxy.cn
4.3 测试环境
在 VSCode 下新建一个 hello.go
文件,输入以下代码并运行,正确输出结果则表明基于 VSCode 的 Go 语言环境基本配置成功:
1 2 3 4 5 6 7 package mainimport "fmt" func main () { fmt.Printf("hello, world\n" ) }
4.4 构建项目
在上述安装开发工具包之后,$GOPATH
目录会自动生成(如果原来不存在的话),而且目录下会有 src
和 pkg
两个子文件夹,前者用来保存项目的源代码,后者用来缓存项目的依赖文件,除了以上两个子文件夹外,我们还需要一个 bin
文件夹用来保存项目编译成功后生成的可执行文件,若没有以上三个子文件夹的任何一个可以自行创建。以下通过创建 calc 项目案例来看看 go 语言开发项目是如何在 VSCode 下创建的,该项目最终结构如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 . ├── bin │ └── calc ├── pkg └── src ├── calc │ └── calc.go └── simplemath ├── add.go ├── add_test.go ├── sqrt.go └── sqrt_test.go 5 directories, 6 files
在 src
子文件夹下创建 calc
文件夹作为项目主文件所在目录,在 calc
目录下创建主文件 calc.go
,文件内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 package mainimport ( "fmt" "os" "strconv" "simplemath" ) var Usage = func () { fmt.Println("USAGE: calc command [arguments] ..." ) fmt.Println("\nThe commands are:\n\tadd\tAddition of two values\n\tsqrt\tSquareroot of a non-negative value." ) } func main () { args := os.Args if args == nil || len (args) < 3 { Usage() return } switch args[1 ] { case "add" : if len (args) != 4 { fmt.Println("USAGE: calc add <integer1><integer2>" ) return } v1, err1 := strconv.Atoi(args[2 ]) v2, err2 := strconv.Atoi(args[3 ]) if err1 != nil || err2 != nil { fmt.Println("USAGE: calc add <integer1><integer2>" ) return } ret := simplemath.Add(v1, v2) fmt.Println("Result: " , ret) case "sqrt" : if len (args) != 3 { fmt.Println("USAGE: calc sqrt <integer>" ) return } v, err := strconv.Atoi(args[2 ]) if err != nil { fmt.Println("USAGE: calc sqrt <integer>" ) return } ret := simplemath.Sqrt(v) fmt.Println("Result: " , ret) default : Usage() } }
在 src
子文件夹中创建项目依赖文件目录 simplemath
,在该目录下一次创建 add.go
、add_test.go
、sqrt.go
、sqrt_test.go
文件,其内容分别如下:
1 2 3 4 5 6 package simplemathfunc Add (a int , b int ) int { return a + b }
1 2 3 4 5 6 7 8 9 package simplemathimport "testing" func TestAdd1 (t *testing.T) { r := Add(1 , 2 ) if r != 3 { t.Errorf("Add(1, 2) failed. Got %d, expected 3." , r) } }
1 2 3 4 5 6 7 8 package simplemathimport "math" func Sqrt (i int ) int { v := math.Sqrt(float64 (i)) return int (v) }
1 2 3 4 5 6 7 8 9 10 package simplemathimport "testing" func TestSqrt1 (t *testing.T) { v := Sqrt(16 ) if v != 4 { t.Errorf("Sqrt(16) failed. Got %v, expected 4." , v) } }
然后在 VSCode 下直接点击运行,若显示可执行程序 calc 的 Usage 信息说明项目编译运行成功
接着切换到 bin
子文件夹下,通过以下代码构建项目可执行程序 calc :
如果成功 bin
子文件夹下成功生成 calc 可执行文件,说明项目构建成功,可直接在终端运行该可执行文件
此外,也可以在终端运行项目中的 test 文件来测试项目依赖文件中的主要函数是否正确: