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=https://proxy.golang.org,directhttps://proxy.golang.orghttps://goproxy.iohttps://goproxy.cn

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

go env -w GOPROXY=https://goproxy.cn,direct
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 介绍

免费

虽然不如某些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 命令表示将源代码编译成可执行文件。

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.

Windows如何升级go版本

查看自己当前的go版本。

在这里插入图片描述
前往官网根据操作系统下载最新版本:
Downloads - The Go Programming Language (google.cn)
https://golang.google.cn/dl/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
验证go版本

在这里插入图片描述