linux下安装go
安装go环境
1,Golang官网下载地址:https://golang.org/dl/
2,打开链接地址,下载go1.11.5.linux-amd64.tar.gz
https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz
3,cd进入你用来存放安装包的目录,我习惯在~下面创建个go文件夹。
# 在 ~ 下创建 go 文件夹,并进入 go 文件夹
mkdir ~/go && cd ~/go
下载的 go 压缩包
wget https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz
如图:
4,执行tar解压到/usr/loacl
目录下(官方推荐),得到go文件夹等(解压需要root权限)
tar -C /usr/local -zxvf go1.11.5.linux-amd64.tar.gz
如图:
5,添加/usr/loacl/go/bin
目录到PATH变量中。添加到/etc/profile
或$HOME/.profile
都可以
# 习惯用vim,没有的话可以用命令`sudo apt-get install vim`安装一个
vim /etc/profile
# 在最后一行添加
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
# 保存退出后source一下(vim 的使用方法可以自己搜索一下)
source /etc/profile
6,执行go version,如果现实版本号,则Go环境安装成功
运行第一个程序
1,先创建你的工作空间(Workspaces),官方建议目录$HOME/go
。
mkdir $HOME/go
2,将你的工作空间路径声明到环境变量中。和上一部分的第5步相似
# 编辑 ~/.bash_profile 文件
vim ~/.bash_profile
# 在最后一行添加下面这句。$HOME/go 为你工作空间的路径,你也可以换成你喜欢的路径
export GOPATH=$HOME/go
# 保存退出后source一下(vim 的使用方法可以自己搜索一下)
source ~/.bash_profile
3,在你的工作空间创建你的第一个工程目录
# 创建并进入你的第一个工程目录
mkdir -p $GOPATH/src/hello && cd $GOPATH/src/hello
4,在你的工程目录下创建名为hello.go
的文件
vim hello.go
5,将下面内容粘贴到 hello.go 文件
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
6,好了,工程目录和工程文件都准备好了。现在我们到我们的工程目录($GOPATH/src/hello)
下构建我们的工程
# 如果你当前的目录不在 $GOPATH/src/hello, 需要先执行 "cd $GOPATH/src/hello" 进入该目录
# 执行构建工程的命令
go build
7,等一会,命令执行完之后你可以看到目录下会多出一个 hello 的文件,这就是我们编译之后的文件啦。怎么执行我们的程序呢?只需要在当前目录下执行./xxx
就可以啦!
关于Go的一些介绍
环境变量:
$GOROOT:
表示Go的安装目录。也就是上面我们解压出来的文件夹里面的go文件夹。
$GOPATH:
表示我们的工作空间。用来存放我们的工程目录的地方。
GOPATH目录:
一般来说GOPATH下面会有三个文件夹:bin
、pkg
、src
,没有的话自己创建。每个文件夹都有其的作用。
bin:编译后可的执行文件的存放路径
pkg:编译包时,生成的.a文件的存放路径
src:源码路径,一般我们的工程就创建在src
下面。
注意:如果要用Go Mod
(Go1.11及以上支持)进行包管理,则需要在 GOPATH 以外的目录创建工程。关于Go Mod
的使用,可以自行Google一下,这里就不赘述了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~