Golang开发环境搭建

Posted 知其黑、受其白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang开发环境搭建相关的知识,希望对你有一定的参考价值。

阅读目录

Windows下搭建Go开发环境 - 安装和配置 SDK

SDK就是软件开发工具包


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

Go官方镜像站(推荐):https://golang.google.cn/dl/

此安装实例以 64位Win10系统安装 Go1.19.3可执行文件版本为例。


下一步,下一步安装,记住安装目录即可。

注意:Go语言1.14版本之后推荐使用go modules管理依赖,也不再需要把代码写在GOPATH目录下了。


检查

上一步安装过程执行完毕后,可以打开终端窗口,输入go version命令,查看安装的Go版本。


从Go 1.8版本开始,Go开发包在安装完成后会为GOPATH设置一个默认目录。

GOPROXY 非常重要

Go1.14版本之后,都推荐使用go mod模式来管理依赖环境了,也不再强制我们把代码必须写在GOPATH下面的src目录了,你可以在你电脑的任意位置编写go代码。

默认GoPROXY配置是:GOPROXY=https://proxy.golang.org,direct,由于国内访问不到 https://proxy.golang.org,所以我们需要换一个PROXY,这里推荐使用 https://goproxy.iohttps://goproxy.cn

可以执行下面的命令修改GOPROXY:

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

查看本地go的环境配置信息:go env

C:\\Users\\ASUS>go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\\Users\\ASUS\\AppData\\Local\\go-build
set GOENV=C:\\Users\\ASUS\\AppData\\Roaming\\go\\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\\Users\\ASUS\\go\\pkg\\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\\Users\\ASUS\\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=D:\\Golang
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:\\Golang\\pkg\\tool\\windows_amd64
set GOVCS=
set GOVERSION=go1.19.3
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\\ASUS\\AppData\\Local\\Temp\\go-build2903845654=/tmp/go-build -gno-record-gcc-switches

C:\\Users\\ASUS>

Go开发编辑器

Go采用的是UTF-8编码的文本文件存放源代码,理论上使用任何一款文本编辑器都可以做Go语言开发,这里推荐使用VS Code 和Goland。 VS Code是微软开源的编辑器,而Goland是jetbrains出品的付费IDE。

我们这里使用VS Code 加插件做为go语言的开发工具。

VS Code 介绍

VS Code全称Visual Studio Code,是微软公司开源的一款免费现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,支持 Win、Mac 以及 Linux平台。

虽然不如某些IDE功能强大,但是它添加Go扩展插件后已经足够胜任我们日常的Go开发。

下载与安装

VS Code官方下载地址:https://code.visualstudio.com/Download

三大主流平台都支持,请根据自己的电脑平台选择对应的安装包。


双击下载好的安装文件,双击安装即可。

安装 go 扩展

现在我们要为我们的VS Code编辑器安装Go扩展插件,让它支持Go语言开发。

第一个Go程序

现在我们来创建第一个Go项目——hello。在我们桌面创建一个hello目录。

使用 go module 模式新建项目时,我们需要通过 go mod init 项目名命令对项目进行初始化,该命令会在项目根目录下生成go.mod文件。

例如,我们使用 hello 作为我们第一个Go项目的名称,执行如下命令。

go mod init hello

编写代码
接下来在该目录中创建一个 main.go 文件:

// 声明 main 包,表明当前是一个可执行程序
package main

// 导入内置 fmt 包
import "fmt"

// main函数,是程序执行的入口
func main() 
	// 在终端打印 Hello World!
	fmt.Println("Hello World!")

非常重要 !!!
如果此时VS Code右下角弹出提示让你安装插件,务必点 install all 进行安装。

编译

go build 命令表示将源代码编译成可执行文件。

在 hello 目录下执行:go build

或者在其他目录执行以下命令:go build hello

go编译器会去 GOPATH的 src 目录下查找你要编译的hello项目。

编译得到的可执行文件会保存在执行编译命令的当前目录下,如果是windows平台会在当前目录下找到hello.exe可执行文件。

可在终端直接执行该 hello.exe文件:

PS D:\\GolangObject> go mod init hello
go: creating new go.mod: module hello
PS D:\\GolangObject> go build
PS D:\\GolangObject> .\\hello.exe
Hello World!
PS D:\\GolangObject>


我们还可以使用 -o 参数来指定编译后得到的可执行文件的名字。

go build -o heiheihei.exe

Windows下VSCode切换cmd.exe作为默认终端

go run

go run main.go 也可以执行程序,该命令本质上也是先编译再执行。

PS D:\\GolangObject> go run main.go
Hello World!
PS D:\\GolangObject>

go install

go install 表示安装的意思,它先编译源代码得到可执行文件,然后将可执行文件移动到 GOPATH 的 bin 目录下。

因为我们的环境变量中配置了GOPATH下的bin目录,所以我们就可以在任意地方直接执行可执行文件了。

跨平台编译

默认我们 go build 的可执行文件都是当前操作系统可执行的文件,Go语言支持跨平台编译——在当前平台(例如Windows)下编译其他平台(例如Linux)的可执行文件。

Windows 编译 Linux 可执行文件

如果我想在Windows下编译一个Linux下可执行文件,那需要怎么做呢?

只需要在编译时指定目标操作系统的平台和处理器架构即可。

注意:无论你在Windows电脑上使用VsCode编辑器还是Goland编辑器,都要注意你使用的终端类型,因为不同的终端下命令不一样!!!
目前的Windows通常默认使用的是PowerShell终端。

如果你的 Windows 使用的是cmd,那么按如下方式指定环境变量。

SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=linux    // 目标平台是linux
SET GOARCH=amd64  // 目标处理器架构是amd64

如果你的Windows使用的是PowerShell终端,那么设置环境变量的语法为:

$ENV:CGO_ENABLED=0
$ENV:GOOS="linux"
$ENV:GOARCH="amd64"

在你的Windows终端下执行完上述命令后,再执行下面的命令,得到的就是能够在Linux平台运行的可执行文件了。

go build

Linux编译Windows可执行文件

Linux平台下编译Windows平台64位可执行程序:

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

现在,开启你的Go语言学习之旅吧。人生苦短,let’s Go.

以上是关于Golang开发环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

从零开始搭建EasyDarwin环境——Windows系统开发环境Golang的搭建

Golang开发环境搭建-Vim篇

从零开始搭建EasyDarwin环境——Linux系统开发环境Golang的搭建

Golang开发环境搭建

Golang开发环境搭建

golang开发:开发环境搭建vagrant+VirtualBox