go 语言学习环境配置-001

说明#

在 Ubuntu 20.04 下重新开始配置 Go 的开发环境。

以ubuntu为例#

1
2
wget https://golang.org/doc/install?download=go1.16.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.16.linux-amd64.tar.gz

配置环境变量 和代理#

vim /etc/profile 或者 ~/.zshrc 下

1
2
3
4
5
6
7
8
export GOROOT=/usr/local/go
#GOPATH 是自己的go项目路径,自定义设置
export GOPATH=/home/leichongxiang/work/learn/goproject #替换你的目录
export GOBIN=$GOPATH/bin
# 启用 Go Modules 功能
export GO111MODULE=auto
# 配置 GOPROXY 环境变量
export GOPROXY=https://goproxy.cn,direct

source /etc/profile

解释:
开启GO111MODULE
用环境变量 GO111MODULE 开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是 auto。
GO111MODULE=off 无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。
GO111MODULE=on 模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod 下载依赖。
GO111MODULE=auto 在 $GOPATH/src 外面且根目录有 go.mod 文件时,开启模块支持。
在使用模块的时候,GOPATH 是无意义的,不过它还是会把下载的依赖储存在 $GOPATH/src/mod 中,也会把 go install 的结果放在 $GOPATH/bin 中。

第一个hello.go#

在GOPATH目录下编写代码

1
2
3
4
5
6
7
8
9
10
11
>
>pwd
>/home/leichongxiang/work/learn/goproject/base/20210303
>vim hello_01.go
package main

import "fmt"

func main() {
fmt.Println("hello world")
}

运行:

1
go run hello_01.go

出现结果:hello world

构建:

1
go build hello_01.go

生成文件hello_01编译后的文件

安装:

1
go install hello_01.go

将在GOBIN目录下生成 hello_01 的二进制文件