欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > go day 01

go day 01

2025/4/18 5:59:46 来源:https://blog.csdn.net/qq_30950597/article/details/147000011  浏览:    关键词:go day 01

go day 01 配置go环境

install go on D:\huang\lang\go\
D:\huang\lang\go\bin\go xxx.go
# D:\huang\lang\go\bin 设置到环境变量
go
go version
# 创建任意一个目录,创建三个文件夹
# 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 utilsfunc 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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词