电子商务网站建设一般流程,定陶网站建设,上海工商网官网电话,国外创意摄影网站【Go】Go语言开发环境安装
导入
安装环境#xff1a;Winowds
我现在是win7安装的#xff0c;与win10整体步骤是一样的#xff0c;只是部分显示的时候有点差异不影响#xff1b;
【名词】
编译器#xff1a;先将代码编译成可执行文件#xff0c;再执行#xff1b; —…【Go】Go语言开发环境安装
导入
安装环境Winowds
我现在是win7安装的与win10整体步骤是一样的只是部分显示的时候有点差异不影响
【名词】
编译器先将代码编译成可执行文件再执行 —全文翻译
适用语言
CCJavaGo
解释器不用将代码编译直接可以执行 —实时翻译
适用语言
PythonPHPJavaSciptRuby
资源
官网https://golang.google.cn/dl/论坛https://studygolang.com/
官网首页 Windows的安装包
当前最新的版本 go1.20.2
安装
安装 安装完成
查看安装文件 测试验证切换路径至bin文件夹下
执行命令go version
log : D:\software_install\Go\bingo version go version go1.20.2 windows/amd64 配置环境变量
**目的**便于后期go编译器的运行无需手动指定go 的安装位置
方法
计算机—属性—高级系统设置—环境变量进来的时候发现已经配置了可能是现在的版本安装内置功能实现环境变量的配置了那就不用我们大刀阔斧的乱操作了
随便切换一路经试试环境变量配置是对不对一顿简单操作下。
查看安装版本 C:\Users\wsgo version go version go1.20.2 windows/amd64 查看环境
检查go环境 go env E:\GoProject\src\utilsgo env set GO111MODULEauto set GOARCHamd64 set GOBINE:\GoProject\bin set GOCACHEC:\Users\ws\AppData\Local\go-build set GOENVC:\Users\ws\AppData\Roaming\go\env set GOEXE.exe set GOEXPERIMENT set GOFLAGS set GOHOSTARCHamd64 set GOHOSTOSwindows set GOINSECURE set GOMODCACHEE:\GoProject\pkg\mod set GONOPROXY 其他配置
创建一个目录
这个目录作用后期关于go的所有项目资源与源码都存放在这个位置便于代码的管理
接下来做更精细的划分再创建三个文件夹bin, pkg,src;
E:\GoProject- bin- pkg- src解释
bin : 执行go install生成的exe文件的路径
pkg : 执行go install生成的包文件会存放在pkg文件夹下【下面有介绍】src:这里存放的都是项目及其源码 第一个项目资管系统 第二个运营系统
- assetmanage.go
- businessopr.go环境变量配置 GOBIN GOPATH GOROOT 简单解释下上面的环境变量们
GOBIN 用例保存go install生成的exe文件的路径、 可执行文件路径
GOPATH用来指定开发项目所在地址 工作 路径
GOROOT 用来指定 go 的安装路径。
代码测试
编写
在E:\GoProject\src下面新建一个项目名称为first 再在项目下建立一个文件app.go:
package mainimport fmtfunc main(){fmt.Println(hello go)
}运行
切换至app.go所在路径
方法1
命令运行
执行命令go run app.go运行项目
E:\GoProject\src\firstgo run app.go
hello go方法2
编译运行
执行命令
go build运行的时候出现了一些小的插曲 E:\GoProject\src\firstgo build go: go.mod file not found in current directory or any parent directory; see ‘go help modules’ 接下来我们就逢山开路遇水搭桥遇到问题就去勇敢的面对它并解决之
原因分析 go 的环境配置问题。与 golang 的包管理有关。
解决方案 如果你是 Windows 系统快捷键 “WinR”输入cmd打开终端。输入
go env -w GO111MODULEauto解释 GO111MODULE 是 Go 1.11 引入的新版模块管理方式 在1.12版本中正式支持它是Go语言官方提供的包管理解决方法。
GO111MODULE 环境变量用于开启或关闭 Go 语言中的模块支持它有 off、on、auto 三个可选值默认为 auto。 GO111MODULEoff 无模块支持 go命令行将不会支持module功能寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。 GO111MODULEon 模块支持 go命令行会使用modules而一点也不会去GOPATH目录下查找。 也可以解释成go 忽略 $GOPATH 文件夹只根据 go.mod 下载依赖。 GO111MODULEauto 默认值go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形 1当前目录在GOPATH/src之外且该目录包含go.mod文件开启模块支持。 2当前文件在包含go.mod文件的目录下面。 在 $GOPATH/src 外层且根目录有 go.mod 文件时开启模块支持否者无模块支持。
Go mod使用方法
//初始化模块
Go mod init 项目模块名称//依赖关系处理根据go.mod文件
Go mod tidy//将依赖包复制到项目的vendor目录
Go mod vendor//显示依赖关系
Go list -m all//显示详细依赖关系
Go list -m -json all//下载依赖
Go mod download [pathversion]
然后再来继续go build E:\GoProject\src\firstgo build E:\GoProject\src\first 这次就没有报错了看看我们执行完这个命令后发生了什么变化 在E:\GoProject\src\first项目目录下生成了一个以项目名命名的可执行文件first.exe点击运行一下看看有啥变化发现终端闪现了一下就迅速的退出了这条路走不通我们先换条路走在终端切换至first.exe文件所在路径执行如下
E:\GoProject\src\firstfirst.exe
hello go这次很清晰的看到控制台输出的结果就是我们想看到的数据
补充
刚才双击exe文件闪现的原因
1.主要是命令执行太快执行结束后生命周期也结束了终端自然就退出了通过cmd命令终端这个问题就可以避免了如果实现想通过双击实现exe文件的运行需要稍微加一下等待代码可以这样改
package mainimport fmt
import timefunc main(){fmt.Println(hello go)time.Sleep(5 * time.Second)
}build指定名称
刚才使用的命令是go build生成的exe文件名就是项目命名的如果需要指定名称则加入一个参数-o xxx.exe
E:\GoProject\src\firstgo build -o aaaE:\GoProject\src\firstaaa
aaa 不是内部或外部命令也不是可运行的程序
或批处理文件。E:\GoProject\src\firstgo build -o aaa.exeE:\GoProject\src\firstaaa.exe
hello goE:\GoProject\src\first[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WoIpNKsD-1678612696572)(【Go】Go语言开发环境安装.assets/1678608302838.png)]
上面方式1与方式2两种运行方式本质上是相同
方式3
执行命令
go install在bin文件夹生成了first.exe这个时候就正好可以介绍下刚才我们为什么建这个文件夹并配置环境变量了目的就在于此go install 的时候生成的exe文件存放在bin文件夹下
pkg
1.在E:\GoProject\src\utils 新建文件tools.go
package utilsfunc add(n1 int,n2 int)(ret int){return n1 n2
}2.执行cmd:go install
3.会在E:\GoProject\pkg\windows_amd64生成utils.a文件
go build、go install 区别
go build、go install 命令都是可生成可实行文件了解它们的小区别以选择适合自己的。
go install 和 go build 在没有参数时运行都会在当前目录下编译如果当前目录是软件主程序package main
go build 会生成可实行文件放在当前目录中 go install 则会把它放到 $GOPATH/bin 中。 go install 还会把导入的依赖包编译到 $GOPATH/pkg并缓存如果包未做更改下次编译则直接使用缓存。 go build 命令加参数 -i 也能达到go install 的效果。
如果当前目录是非主包则go install 直接把编译结果安装到 $GOPATH/pkg。
如果项目很大每次编译都要花很长时间则建议使用 go install 来编译充分利用它对依赖包的缓存功能
总结
1.载go编译器
2.安装
3.在安装目录下就是go编译器相关的所有内容。
在安装命令下有bin目录中有一个go可执行文件基于它来启动编译器。
直接可以找到路径去找到它然后运行有点麻烦。将go的可执行文件添加到环境变量中在任何位置打开命令终端都可以顺利运行。这也是多数开发语言都要做的一个环境变量配置的操作一次配置永久有效前提是不重新安装系统比如在javapython node
基于上面的设置尽管可以实现go的开发
如果想更方便的使用go编译器还需要做进一步的设置 创建命令 用于存放代码、编译后的可执行文件、编译后的包文件。 xxx- bin- pkg- src 环境变量 GOBIN 用例保存编译后生成的可执行文件的路径GOPATH用来指定开发项目所在地址 编译后的可执行文件、包文件 工作路径GOROOT 用来指定 go 的安装路径。编写代码然后运行
写了两个项目
first 编译后生成可执行文件utils 编译后生成包文件
运行项目
go run xxx.go : 运行项目代码内部会先编译并将编译后的文件放在系统的临时目录然后再自动执行go build 运行项目代码手动编译并生成一个可执行文件然后再自动运行。go install生成可执行文件包文件并且会将编译后的文件放在bin or pkg 目录下。