文档说明
本文作者:SwBack
创作时间:2022年6月8日 18:46:21
知乎:https://www.zhihu.com/people/back-88-87
****:https://blog.****.net/qq_30817059
百度搜索: SwBack
系统: Windows 11
go 1.18.2
安装包下载
安装包下载链接
直接默认NEXT
查看Go版本
查看Go变量
go env
Go项目结构
在进行go语言开发的时候,我们的代码总是会保存在$GOPATH/src
目录下。在工程经过go build
、go install
、或go get
、等指令后会将下载的第三方包源代码文件放在$GOPATH/src
目录下,产生的二进制 可执行文件放在$GOPATH/bin
目录下,生成的中间缓存文件会被保存在$GOPATH/pkg
下
如果我们使用版本管理工具如Git 来管理我们的项目代码时,我们只需要添加$GOPATH/src
目录的源代码即可。bin
和pkg
目录的内容无需版本控制。
适合个人开发者
流行的项目结构
适合企业的结构
Go开发编辑器
Go采用的时utf-8编码的文本文件。使用Vs Code
编辑器。
环境配置
Vscode Go
环境配置
首先需要下载Go
的一些插件,因为默认地址为国外,所以要先修改下配置。打开命令提示符
,依次执行以下命令
go env -w GOSUMDB=off
go env -w GOPROXY=https://goproxy.cn,direct
如果还是报错,可以将地址复制到命令提示符
手动下载
下载完成$GOPATH/bin
目录下看到所下载的文件
报错处理
如果在go build的过程中遇到如下错误
go: go.mod file not found in current directory or any parent directory; see 'go help modules'
执行如下命令即可
go env -w GO111MODULE=auto
Go基本操作
编译
使用go build
在项目目录下执行,进行编译,生成exe文件,执行即可
或者在任意目录带上$GOPATH/src
后地址 ,例如
go build swback.cn\swback\day01\helloworld
文件会生成在 执行命令的当前目录
Go run
直接执行.go文件
go install
1.先编译得到一个可执行文件
2.将可执行文件拷贝到$GOPATH/bin
跨平台编译
默认我们go build
的可执行文件都是当前操作系统的可执行文件,如果想要在windows 下编译一个linux可执行程序.只需要如下操作
指定目标操作系统的平台和处理器架构即可:
SET CGO_ENABLED=0 //禁用CGO
SET GOOS=linux //目标平台是linux
SET GOARCH=amd64 //目标处理器架构是amd64 一般无需操作
然后再执行go build
命令,得到的就是能够再Linux平台运行的可执行文件了。
Windows 下编译Mac平台64位可执行程序:
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build
Mac 下编译Linux 和Windows平台64位可执行程序:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Linux下编译Mac和Windows平台64位可执行程序:
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
第一个Go程序 Hello World
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置 fmt 包
func main(){ // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
通过go build
编译之后,生成了一个exe文件 运行,输出Hello World!