Go语言开发环境搭建

本文介绍了Go语言的背景、特点、应用领域以及如何在Windows、Linux和Mac平台上搭建Go语言开发环境,包括SDK下载、环境变量配置和Git的安装。通过本文,读者将能够顺利配置Go语言的开发环境。

01 golang语言简介

go语言简介

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。
在这里插入图片描述

go语言特点

1,背靠大厂,Google 背书,可靠

2,天生支持并发(最显著特点)

3,语法简单,容易上手

4,内置runtime,支持垃圾回收

5,可直接编译成机器码,不依赖其他库

6,丰富的标准库

7,跨平台编译

go语言的应用领域

1,服务器编程

2,开发云平台

3,区块链

4,分布式系统

5,网络编程

那些公司(项目使用)go语言

1,Google k8s

2,Facebook facebookgo

3,腾讯 蓝鲸平台,容器技术

4,百度 运维项目BFE

5,京东 消息推送系统、云存储、京东商城

6,小米 运维监控系统、小米互娱、小米商城、小米视频、小米生态链

7,360 日志搜索系统Poseidon

02 go语言开发环境搭建

基本介绍

SDK的全称(Software Development Kit软件开发工具包),SDK是提供给开发人员使用的,其中包含对应开发语言的工具包。

SDK下载

1)Go语言官网,下载地址:https://golang.google.cn/dl/,这里提供了不同平台的go版本,根据自己的平台选择下载;
在这里插入图片描述
2)Golang中文社区,下载地址:https://studygolang.com/dl,这里同样提供了不同平台的go版本,根据自己的平台选择下载;
在这里插入图片描述

安装SDK并配置环境变量-Windows平台

安装路径选择一个比较好找的路径,例如:N:/golang-SDK,要注意的是安装路径不要有中文或者特殊符号如空格等,如果是类似go1.19.4.windows-amd64.msi这样.msi结尾的包其他安装都选择”下一步“即可(如果是类似go1.19.4.windows-amd64.zip这样.zip结尾的包其他安装就是解压出现go名称文件夹即可),go目录就是SDK。安装完成后,把N:\golang-SDK\go\bin目录添加到环境变量,这里就可以使用go了,在命令行输入 go version查看版本,输出结果如下所示。

C:\Users\23596>go version
go version go1.19.4 windows/amd64

在这里插入图片描述
go命令在go目录下面的bin目录下面,如果想在任意路径都能执行go命令,就需要将这个命令的所在目录配置环境变量path中去,操作如下:此电脑–>属性–>高级系统设置–>系统变量(Path)–>编辑–>新建–>将go命令所在目录粘贴到这里–>确认
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置go环境

进入控制台win+R–>cmd,输入go env;

使用go mod管理库,需要科学上网,因为我们使用的库都在github上面,

在这里插入图片描述

C:\Users\23596>go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\23596\AppData\Local\go-build
set GOENV=C:\Users\23596\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\23596\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\23596\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=N:\golang-SDK\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=N:\golang-SDK\go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.19.4
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=NUL
set GOWORK=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=C:\Users\23596\AppData\Local\Temp\go-build380188077=/tmp/go-build -gno-record-gcc-switches

通过powershell输入如下:

$env:GO111MODULE="on"                       #go的1.1.1版本项目块
$env:GOPROXY="http://goproxy.cn"            #go模块的代理
C:\> $env:GO111MODULE = "on"
C:\> $env:GOPROXY = "https://goproxy.cn"

或者打开你的终端并执行

$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct

goroot就是go安装的根目录,gopath就是go项目所在的路径,高版本go项目已经不再依赖gopath来管理项目,使用go mod来管理项目。

PS C:\Users\23596> $env:GO111MODULE="on"    
PS C:\Users\23596> $env:GOPROXY="http://goproxy.cn"
PS C:\Users\23596> go env
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\23596\AppData\Local\go-build
set GOENV=C:\Users\23596\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\23596\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\23596\go      #go的项目位置,现在有了模块化管理,这个不用管了
set GOPRIVATE=
set GOPROXY=http://goproxy.cn
set GOROOT=N:\golang-SDK\go       #go的安装路径
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=N:\golang-SDK\go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.19.4
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=NUL
set GOWORK=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=C:\Users\23596\AppData\Local\Temp\go-build742052310=/tmp/go-build -gno-record-gcc-swi

安装配置git

配置环境变量,命令行输入git测试

git是一个项目管理工具,因为我们所有的这些库和包都在GitHub上面,所以需要git工具将所需内容克隆下来

1)git下载

https://www.git-scm.com/download/

在这里插入图片描述

下载下来之后,其他安装都是“下一步“

2)安装过程

下载完成后,双击下载的软件开始安装

在这里插入图片描述
点击next,选择安装路径
在这里插入图片描述
这里出现了一些选项配置,默认配置设置,直接next
在这里插入图片描述
git的默认编辑器,不用更改,点击next
在这里插入图片描述
这里是分支名设置,默认就行,点击next
在这里插入图片描述
这里选择默认值就行,一路点击next
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
两个选项沟上,点击安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

右键菜单栏多出git的两个选项,git GUI:图形界面的git,不建议新手使用

git Bash:Linux风格的命令行,使用最多,推荐使用
在这里插入图片描述
点击打开git bash,在git bash终端中输入命令 git --version,查看git版本,如图,说明安装成功
在这里插入图片描述
或者,在控制命令台输入git命令,有显示就表明成功了
在这里插入图片描述

3),将git命令所在目录设置成环境变量

在这里插入图片描述在这里插入图片描述

4)配置git

查看git配置,git config -l
在这里插入图片描述
这里我们只需要输入命令 git config --global user. name “liuguobao” (名称)
在这里插入图片描述

没有报错,继续输入命令 git config --global user. email xxxxxxx@qq.com (邮箱)
在这里插入图片描述
然后在查看一下全部配置,这里就有了刚刚配置的信息了,到这一步,git的基本安装配置就结束了
在这里插入图片描述

Linux平台

如果不是要在Linux平台敲go代码就不需要在Linux平台安装go。我们开发机上写好go代码只需要跨平台编译之后跨平台拷贝到Linux服务器上运行即可。这也是go程序跨平台易部署的优势。

在https://golang.google.cn/dl/下面的版本选择页面选择并下载好go1.19.4.linux-amd64.tar.gz文件:
在这里插入图片描述

sudo wget https://golang.google.cn/dl/go1.19.4.linux-amd64.tar.gz  #下载

将下载好的文件解压到/usr/local目录下,执行完成之后在/usr/local/下面有go目录:

sudo tar -zxvf go1.19.4.linux-amd64.tar.gz -C /usr/local       #解压

配置环境变量:在全局变量/etc/profile或者仅对当前用户生效的$HOME/.profile变量添加如下两行

export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin

修改/etc/profile后要重启生效,修改 H O M E / . p r o f i l e 后使用 s o u r c e 命令加载 HOME/.profile后使用source 命令加载 HOME/.profile后使用source命令加载HOME/.profile即可生效,检查:

~ go version
go version go1.19.4.linux-amd64

Mac平台

下载可执行文件版,直接点击下一步安装即可,默认会将go安装到/usr/local/go目录下。

打开终端窗口输入go version,查看go版本并检验是否安装成功。

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值