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

相关推荐
shylyly_30 分钟前
Linux-> TCP 编程1
linux·网络·tcp/ip·echo·tcp编程
abcooxj1 小时前
Linux I2C 子系统
linux
无敌最俊朗@1 小时前
Qt 多线程与并发编程详解
linux·开发语言·qt
DrugOne1 小时前
Amber24 安装指南:Ubuntu 22.04 + CUDA 12.4 环境
linux·运维·ubuntu·drugone
洋葱圈儿6661 小时前
第八个实验——浮动路由
运维·服务器·网络
荣光波比2 小时前
RabbitMQ高可用集群搭建教程(基于CentOS 7.9 + Erlang 23.2.7 + RabbitMQ 3.8.8)
运维·centos·rabbitmq·erlang
至善迎风2 小时前
Ubuntu 24.04 SSH 多端口监听与 ssh.socket 配置详解
linux·ubuntu·ssh
wdfk_prog2 小时前
[Linux]学习笔记系列 -- lib/timerqueue.c Timer Queue Management 高精度定时器的有序数据结构
linux·c语言·数据结构·笔记·单片机·学习·安全
zxsz_com_cn2 小时前
基于AI的设备健康诊断:工业设备智能运维的破局之钥
运维·人工智能
大聪明-PLUS3 小时前
如何从 USB 闪存驱动器安装 Debian Linux
linux·嵌入式·arm·smarc