我今天才开始写Go(所以没有经验),我想知道Go是否支持任何形式的"构建所有源文件",就像mvn install所做的那样.

我的项目 struct 是

src
  `-github.com
          `-myproject
               |- package1
               |     `- main.go
               `- package2
                     |- lib1_used_by_main.go
                     `- lib2_used_by_main.go

当我这么做的时候

cd src/github.com/myproject
go build

对于no buildable Go source files in src/github.com/myproject,这是失败的,这在某种程度上是正确的,因为所有源文件都在子包中.

是否有一个命令来构建所有子程序包,without listing each of them explicitly

推荐答案

在你cd到基本目录之后,使用go build ./...注意有3个句点,因为它是一个省略号.这将递归地构建所有子目录.当然,你可以在任何地方做go build path/to/my/base/...次,而不需要把cd次发送到目录.

这对于那些使用依赖于go/pkg目录的IDE的人非常有用,比如带有GoSublime的SublimeText3.在构建包(将其放入go/pkg目录)之前,对依赖项包进行更改不会更新自动完成.

我自己的项目被分解成多个包 struct ,所以我经常需要go build ./...个包来更新我的自动完成.

Go相关问答推荐

Go-Colly:将数据切片为POST请求

Golang Viper:如果第一个字段不存在,如何从另一个字段获取值

禁用Golang中的终端

困扰围棋官方巡回赛的S建议所有方法都使用同一类型的接收器

Golang 发送Post请求出现400错误

如何在 Go msgraph-sdk-go 中转发消息并包括抄送和/或密送收件人?

Golang prometheus:有没有办法衡量出站请求的指标?

AWS Lambda 中的 Websocket URL 超时达到错误

当客户端同时是服务器时,需要什么 mTLS 证书?

获取 nil 指针类型的 reflect.Value

golang yaml 马歇尔网址

Go:如何在将 float64 转换为 float32 时判断精度损失

速率限制特定端点

Golang:隐式 struct 匹配

try 与 golang testify/suite 并行运行测试失败

如何在 Golang 中使用具有相同名称或特定关键字的行或列重新排列/排序 CSV

分配空切片而不引用其类型?

为什么我不能使用来自 gocloak 中 Login() 的访问令牌在 KeyCloak 中创建新客户端?

Go:如何通过 GIN-Router 从 AWS S3 将文件作为二进制流发送到浏览器?

是否可以动态加载 Go 代码?