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框架作为服务器等等。

相关推荐
萨格拉斯救世主1 分钟前
jenkins使用slave节点进行node打包报错问题处理
运维·jenkins
川石课堂软件测试12 分钟前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
hlsd#1 小时前
go 集成go-redis 缓存操作
redis·缓存·golang
pk_xz1234562 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强2 小时前
Linux之sed命令详解
linux·运维·服务器
Lary_Rock4 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
云飞云共享云桌面6 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq6 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮7 小时前
Linux 使用中的问题
linux·运维
dsywws8 小时前
Linux学习笔记之vim入门
linux·笔记·学习