linux下的安装
本文基于go version go1.14.2 linux/amd64
1.下载安装包
下载
Go官网下载地址:https://golang.org/dl/
Go官方镜像站(推荐):https://golang.google.cn/dl/
根据自己系统,自行选择安装。
如果是window系统 推荐下载可执行文件版,一路 Next
这里我以linux为例
复制tar包连接,然后下载
cd /usr/src
wget https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz
2.解压安装包
Linux 从 https://golang.org/dl/
下载tar⽂件,并将其解压到 /usr/local
。
将/usr/local/go/bin添加到PATH环境变量中。
[root@iZ2ze505h9bgsbp83ct28pZ src]# ll
总用量 131008
drwxr-xr-x. 2 root root 6 5月 11 2019 debug
-rw-r--r-- 1 root root 123658438 4月 9 06:12 go1.14.2.linux-amd64.tar.gz
drwxr-xr-x. 3 root root 41 3月 29 12:13 kernels
[root@iZ2ze505h9bgsbp83ct28pZ src]# tar -xvf go1.14.2.linux-amd64.tar.gz -C /usr/local/
[root@iZ2ze505h9bgsbp83ct28pZ src]# cd /usr/local/
[root@iZ2ze505h9bgsbp83ct28pZ local]# ls
aegis bin etc games go include lib lib64 libexec mysql sbin share src
3 . 安装vim
如果没有安装就yum vim ,如果已经安装就不用再安装了
yum vim
4. 在/home下新建go文件夹
cd /home
mkdir go
在/home/go目录里新建下面三个文件夹:
bin / src / pkg
cd /home/go
mkdir bin
mkdir src
mkdir pkg
5.配置GOROOT
把/usr/local/go/bin目录配置GOROOT 到环境变量里
sodu vim /etc/profile
export GOROOT="/usr/local/go"
export GOPATH=$HOME/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
按esc -> shift+; -> wq 回车保存并退出
source /etc/profile
go version
go env
如果系统变量还是不能生效
每次新打开一个命令窗口都要重新输入 source /etc/profile 才能使go env 等配置文件生效:
那就加到用户变量,当前用户一登录就会加载到
解决方法:
在 ~/.bashrc
中添加语句(在root账号和子账号里都加一次)
source /etc/profile
保存退出
source /etc/profile
或者
source $HOME/.profile
GOPROXY
Go1.14版本之后,都推荐使用go mod
模式来管理依赖了,也不再强制我们把代码必须写在GOPATH
下面的src
目录了,你可以在你电脑的任意位置编写go代码。
默认GoPROXY配置是:GOPROXY=https://proxy.golang.org,direct
,
由于国内访问不到 https://proxy.golang.org
所以我们需要换一个PROXY
,这里推荐使用https://goproxy.io
或 https://goproxy.cn
。
可以执行下面的命令修改GOPROXY
:
`go env -w GOPROXY=https://goproxy.cn,direct`
编辑器
Go采用的是UTF-8编码的文本文件存放源代码,理论上使用任何一款文本编辑器都可以做Go语言开发,推荐使用VS Code
和 Goland
。
VS Code
是微软开源的编辑器,而Goland
是jetbrains
出品的付费IDE。
我这里使用 vim
现在我们来创建第一个Go项目——hello。在我们/home/go/src
创建一个hello
目录。
cd /home/go/src
mkdir hello
cd hello
vim main.go
写入下面的代码
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置 fmt 包
func main(){ // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
保存退出后
执行
[root@iZ2ze505h9bgsbp83ct28pZ hello]# go run main.go
Hello World!
至此已经完成