Linux下go环境安装、环境配置并执行第一个go程序
一、安装
1.Golang对Linux的内核版本要求
GO对Linux内核版本最低要求是 2.6.23,对应要求操作系统版本是:
RHEL 6.0+
CentOS 6.0+
即,不支持 (RHEL 和 CentOS) 的 (4.x or 5.x)。
2.下载golang的代码版本
Golang的官网下载地址:https://golang.org/dl/
3.安装
①使用root账户登录服务器,将下载好的压缩包上传到/usr/local/目录下;
②将压缩包进行解压
二、环境配置
1.非root账户配置(工作空间)
①在工作目录中新建bin(编译后可的执行文件的存放路径)、src(源码路径)、pkg(编译包时,生成的.a文件的存放路径)目录;
②vim ~/.bash_profile
a.在文件最后加入:
# $HOME/go 为工作空间的路径,可自行修改
export GOPATH=$HOME/go
③source ~/.bash_profile
2.root账户配置
①vim /etc/profile
a.在文件最后加入:
# /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
3.验证go环境
①在root账户和非root账户都执行一下go version,确认环境安装完成且可以使用。
②执行go env,得到类似以下的结果:
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/go/.cache/go-build"
GOENV="/home/go/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/go/go"
GOPRIVATE=""
GOPROXY=""
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build794900241=/tmp/go-build -gno-record-gcc-switches"
4.配置go下载包的代理地址
①执行go env -w GO111MODULE=on
②执行go env -w GOPROXY=https://goproxy.io,direct
③执行完成①和②之后,再次进行go env得到以下结果
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/go/.cache/go-build"
GOENV="/home/go/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/go/go"
GOPRIVATE=""
GOPROXY="https://goproxy.io,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build794900241=/tmp/go-build -gno-record-gcc-switches"
三、第一个go程序
①切换到工作空间的src目录下面
②vim hello.go
# 在主文件中必须引入main的包
package mainimport "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框架作为服务器等等。
四、Go的一些介绍
1.环境变量:
- $GOROOT:
表示Go的安装目录。也就是上面我们解压出来的文件夹里面的go
文件夹。 - $GOPATH:
表示我们的工作空间。用来存放我们的工程目录的地方。
2.GOPATH目录:
一般来说GOPATH下面会有三个文件夹:bin
、pkg
、src
,没有的话自己创建。每个文件夹都有其的作用。
- bin:编译后可的执行文件的存放路径
- pkg:编译包时,生成的.a文件的存放路径
- src:源码路径,一般我们的工程就创建在
src
下面。
Linux下go环境安装、环境配置并执行第一个go程序相关推荐
- Linux下samba的安装与配置
physique 博客园 首页 新随笔 联系 管理 订阅 随笔- 203 文章- 0 评论- 33 Linux下samba的安装与配置 转载来源:http://blog.chinaunix.net ...
- linux下jdk的安装与配置jdk-6u45-linux-i586.bin
linux下jdk的安装与配置 一.安装JDK从sun网站上直接下载JDK:http://download.oracle.com/otn-pub/java/jdk/6u45-b06/jdk-6u45- ...
- Linux下Nagios的安装与配置
Linux下Nagios的安装与配置 2017-03-23 17:40:20 来源: 点击:0 Nagios是企业普遍使用的最具影响力的网络信息监视系统之一,它可以动态监视指定的网络状态 ...
- linux 安装cvs,linux下cvs详细安装和配置.docx
Linux 下cvs详细安装和配置 2009-03-18 14:37:12 标签:[推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始岀处 作者信息和本声明.否则将追究 ...
- linux mrtg 安装,17.1.2 Linux下MRTG的安装与配置
17.1.2 Linux下MRTG的安装与配置 MRTG通过SNMP从设备中得到使用设备(如交换机)的网络流量信息,并把PNG格式图形以HTML方式显示出来,便于网络管理员对所监控设备(交换机)进行 ...
- Linux下Tomcat的安装与配置
本篇文章主要对如何在Linux下安装与配置Tomcat进行介绍. 如果想要了解Windows下Tomcat的安装与配置,请参考文章: https://blog.csdn.net ...
- Linux下EPICS的安装与配置——CSS安装与配置
本文继"Linux系统下EPICS的安装与配置"文章后,给出了客户端CSS新版本Phoebus的安装与配置. Phoebus是一个框架和一系列工具,用于监视和操作大型控制系统,例如 ...
- linux下Mysql 的安装、配置、数据导入导出
为什么80%的码农都做不了架构师?>>> <p><span>MySQL</span><span>是一种</span> ...
- linux下postgresql服务,Linux下PostgreSQL数据库安装、配置与日常服务管理
1. 数据库安装与配置步骤 安装环境准备 操作系统: Oracle Linux Server 6.5 IP 地址: 192.168.6.177 版本信息: MySQL Community Server ...
- linux 下的Memcached安装和配置
转载:http://hi.baidu.com/helios_sun/item/b902b90ed39054c12e4c6baf ************************* 主要是要安装php的 ...
最新文章
- Go 1.9 新特性
- .NET NPOI导出Excel详解
- 用虚拟机把ubuntu安装到TF卡上
- android手机分享app,Android Pie如何快捷分享文件至特定App
- 大数据分析的目的与意义
- 给Visual Studio 2005设置一个代码边界线
- Java神鬼莫测之MyBatis中$与#的区别(五)
- 【译】BMP格式与JPG格式之间的区别
- 图书管理系统(个人)
- LeetCode 714. 买卖股票的最佳时机含手续费 | Python
- OAuth2授权原理
- 八、Identity Card
- mysql mtq_Mysql 入门学习指南
- 大厂面试通行证- Java基础
- php微信公众号开发难吗,PHP微信公众号开发的两种模式
- java清空购物车方法_Javaweb网上商城项目实战(21)删除和清空购物车
- java学习——方法
- 判定被7整除的简易方法
- Kubernetes学习之Deployment控制器
- jQuery实现点击链接显示和隐藏二维码
热门文章
- 云手机如何打破Wintel、Apple和Google的生态的垄断
- 给学校开放计算机建议书30字,学生给学校建议书
- 模型评估与选择(后篇)-代价曲线
- 计算机平均分函数a,平均值计算函数Average、Averagea、AverageIfs、Trimmean
- 标签上title属性与alt属性的区别是什么
- 大型粒子对撞机已被上面叫停了!何祚庥:希望杨振宁李政道有生之年重归于好...
- 《开源软件架构》--nginx架构概述
- 微软产品下载地址。MSDN 我告诉你。
- 微信自定义分享,分享至QQ和空间自定义内容正常、分享至微信时只有链接问题
- 新手淘宝开店店铺运营的六大核心技能