马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
go day 01 设置go环境
- install go on D:\huang\lang\go\
复制代码- D:\huang\lang\go\bin\go xxx.go
- # D:\huang\lang\go\bin 设置到环境变量
复制代码- # 创建任意一个目录,创建三个文件夹
- # D:\huang\lang\goProject
- bin、pkg、src
- # 创建三个系统环境变量 GOROOT GOPATH GOBIN
- # GOROOT D:\huang\lang\go 编译器的安装路径
- # GOPATH D:\huang\lang\goProject 实际项目的目录
- # GOBIN D:\huang\lang\goProject\bin go install 实际编译的二进制结果存放的目录
- echo %GOROOT% %GOPATH% %GOBIN%
- # 设置代理,这样在 Vscode 安装 package 时就不会失败。
- go env -w GOPROXY=https://goproxy.cn,direct
复制代码- # 测试是否生效
- D:\huang\lang\goProject\src\crm
- # app.go
- package main
- import "fmt"
- func main(){
- fmt.Println("Hello world")
- }
- # go install app.go
- ## D:\huang\lang\goProject\bin\app.exe
- # go run app.go
- # go build
- ## 没成功 go build -o xx.exe go: go.mod file not found in current directory or any parent directory; see 'go help modules' 百度一下
- ## go env -w GO111MODULE="on"
- ## cd D:\huang\lang\goProject\
- ## go mod init crm # -> D:\huang\lang\goProject\go.mod
- ## go build
- ## go build -o xx.exe
复制代码- D:\huang\lang\goProject\src\utils
- # page.go
- package utils
- func Add(n1 int, n2 int) int {
- return 2222
- }
- ## go mod init utils
- go install # 包文件
- # go build # bin
- # go install 的时候包名要从$GOPATH/src下面的目录开始写。 比如在src下面有一个项目project,下面有个tools包,应该写成这样: go install project/tools 按照上面这个原则,就会在$GOPATH/pkg下面生成a文件了。
- # cd D:\huang\lang\goProject\src
- # go install utils\page.go
复制代码 go build:用于测试编译包,在项目目录下生成可执行文件(有 main 包)。
go install:重要用来生成库和工具。一是编译包文件(无 main 包),将编译后的包文件放到 pkg 目录下( G O P A T H / p k g )。二是编译生成可执行文件(有 m a i n 包),将可执行文件放到 b i n 目录( GOPATH/pkg)。二是编译生成可执行文件(有 main 包),将可执行文件放到 bin 目录( GOPATH/pkg)。二是编译生成可执行文件(有main包),将可执行文件放到bin目录(GOPATH/bin)。
- # cd D:\huang\lang\goProject\src\crm
- go build -o aa.exe
- aa.exe
- # cd D:\huang\lang\goProject\src\crm\test
- # 不管是 go build 还是 go build test1.go go build test2.go 都不会产生额外文件。
- # cd D:\huang\lang\goProject\src\crm
- go install
- 这个时候产生 bin 目录以及 hello.exe 文件【这里有没有发现 之前在 hello 目录下的 hello.exe 自动被删了】
- cd test
- 注意:go install 的时候包名要从 $GOPATH/src 下面的目录开始写。 比如在 src 下面有一个项目 project,下面有个 tools 包,应该写成这样: go install project/tools 按照上面这个原则,就会在 $GOPATH/pkg 下面生成 a 文件了
- cd D:\huang\lang\goProject\src\
- go install crm\test
- go env -w GO111MODULE=off
复制代码- # go引入自建包名报错 package XXX is not in std
- 根据配置信息,问题出在Go Modules的开启或关闭上。
- 当你运行 go env -w GO111MODULE= 时,它将清除 GO111MODULE 环境变量的设置,将其重置为空字符串。这将导致Go工具认为你的项目不使用Go Modules,因此它会尝试在GOPATH中查找包,但无法找到你的项目中的非标准库包。
- 当你运行 go env -w GO111MODULE=off 时,它将显式地将 GO111MODULE 设置为 "off",这意味着你禁用了Go Modules,并且Go工具会尝试在GOPATH中查找包。
- # go env -w GO111MODULE=off
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |