六安网站建设六安,wordpress免费 主题,指定图片做logo网站,重庆最新消息数据#1024程序员节#xff5c;征文#
文档说明
本文作者:SwBack
创作时间:2022年6月8日 18:46:21
知乎:https://www.zhihu.com/people/back-88-87
CSDN:https://blog.csdn.net/qq_30817059
百度搜索: SwBack系统: Windows 11 go 1.18.2 安装包下载
安装包下载链接…#1024程序员节征文#
文档说明
本文作者:SwBack
创作时间:2022年6月8日 18:46:21
知乎:https://www.zhihu.com/people/back-88-87
CSDN:https://blog.csdn.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 GOSUMDBoffgo env -w GOPROXYhttps://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 GO111MODULEauto 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_ENABLED0 //禁用CGO
SET GOOSlinux //目标平台是linux
SET GOARCHamd64 //目标处理器架构是amd64 一般无需操作然后再执行go build命令,得到的就是能够再Linux平台运行的可执行文件了。
Windows 下编译Mac平台64位可执行程序:
SET CGO_ENABLED0
SET GOOSdarwin
SET GOARCHamd64
go buildMac 下编译Linux 和Windows平台64位可执行程序:
CGO_ENABLED0 GOOSlinux GOARCHamd64 go build
CGO_ENABLED0 GOOSwindows GOARCHamd64 go buildLinux下编译Mac和Windows平台64位可执行程序:
CGO_ENABLED0 GOOSdarwin GOARCHamd64 go build
CGO_ENABLED0 GOOSwindows GOARCHamd64 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!