Linux下go环境安装、环境配置并执行第一个go程序

文章目录

安装

Golang对Linux的内核版本要求

GO对Linux内核版本最低要求是 2.6.23,对应要求操作系统版本是:

下载golang的代码版本

Golang的官网下载地址:https://golang.org/dl/

安装

使用root账户登录服务器,将下载好的压缩包上传到/usr/local/目录下并进行解压

环境配置

默认使用root账户进行配置

编辑配置文件vim /etc/profile,在文件最后加入:

shell 复制代码
# /usr/local/go/bin 为go安装目录的bin目录,系统所有账户可以使用bin下的命令进行执行
export PATH=$PATH:/usr/local/go/bin
# /home/go/go 为go工作空间的目录,可自行修改
export GOPATH=/home/go/go 
# /usr/local/go 为go的安装目录
export GOROOT=/usr/local/go

验证go环境

在终端执行go version,确认环境安装完成且可以使用。

shell 复制代码
# go version
go version go1.23.0 linux/amd64

配置go下载包的代理地址

1、执行go env -w GO111MODULE=on

2、执行go env -w GOPROXY=https://goproxy.io,direct

3、执行go env,得到类似以下的结果:

shell 复制代码
GO111MODULE='on'
GOARCH='amd64'
GOBIN=''
GOCACHE='/root/.cache/go-build'
GOENV='/root/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/home/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/home/go'
GOPRIVATE=''
GOPROXY='https://goproxy.cn,direct'
GOROOT='/root/go'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/root/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.23.0'
GODEBUG=''
GOTELEMETRY='local'
GOTELEMETRYDIR='/root/.config/go/telemetry'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/root/exporter/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build1611022934=/tmp/go-build -gno-record-gcc-switches'

第一个go程序

编写hello.go

vim hello.go

golang 复制代码
# 在主文件中必须引入main的包
package main
 
import "fmt"
 
# 通过找到该main()方法进行执行程序
func main() {
        fmt.Printf("Hello,World!!!\n")
}

运行hello.go文件

a.通过使用go run hello.go生成可执行文件,然后使用./hello得到结果

b.通过使用go build执行生成可执行文件,然后使用./hello得到以上a的相同结果

c.对于复杂的工程,使用go run *.go生成可执行文件,然后使用nohup ./可执行文件 & 例如使用gin框架作为服务器等等。

相关推荐
IT邦德12 小时前
Dify1.6基于ubuntu系统的部署实战
linux·运维·ubuntu
蓝速科技13 小时前
蓝速科技会议电子门牌规模化部署与运维成本实测
运维·科技
许彰午13 小时前
# allbytaskid——一个接口扛六个DataStore
运维·服务器·php
吠品13 小时前
Java byte数组与String互转:编码细节与踩坑记录
java·linux·服务器
牛奶咖啡1313 小时前
AI助力运维——AIGC运维应用实践—Deepseek的介绍与本地部署选型
运维·人工智能·deepseek·deepseek能做什么·deepseek本地部署配置·本地部署选型避坑原则·本地部署的典型方案
木白CPP14 小时前
Linux 驱动UART子系统源码分析
linux·运维·服务器·驱动开发·嵌入式硬件·开源软件
-今昭-14 小时前
HAProxy 负载均衡部署
运维·负载均衡
RisunJan14 小时前
Linux命令-times(进程累计时间显示)
linux·运维·chrome
xiaoxiangsiyan15 小时前
RHCE2026完整版全知识点清单
运维·网络·学习·自动化·rhce
风控PM说15 小时前
自动化风控策略生成:基于决策树的方法
运维·决策树·自动化