62得票1回答
`//go:build`和`// +build`指令有何区别?

例如,https://github.com/golang/sys/blob/55b11dcdae8194618ad245a452849aa95e461114/cpu/cpu_gccgo_x86.go#L5-L9。 //go:build (386 || amd64 || amd64p32) &...

58得票5回答
Golang 条件编译

我在Go 1中遇到了条件编译的问题。 这是我的测试代码。关于“// +build”约束和“-tags”标志,我是否有什么误解? main1.go// +build main1 package main import ( "fmt" ) func main() { fmt...

32得票3回答
内部包的使用不允许

我正在尝试构建和运行一个存储库(https://github.com/hyperledger/fabric/tree/master),但是这个错误一直弹出来,而且我还没有找到解决办法。 consensus.go:12:2: use of internal package github.com...

32得票3回答
如何正确使用构建标签?

我需要能够构建不同版本的Go应用程序;一个是“调试”版本,另一个是正常版本。这很容易实现;我只需使用一个控制应用程序行为的常量DEBUG即可。但每次需要切换构建类型时都要编辑配置文件很麻烦。我正在阅读有关go build(http://golang.org/pkg/go/build/)和标签的...

20得票2回答
如何使用Go modules修复“无法加载包”导致的Go构建错误?

我将使用Go模块来设置一个新项目,这篇教程可以帮助我完成。然后我会尝试构建它。 该模块位于$GOPATH之外的文件夹中,并具有以下结构: example.com ├── my-project ├── ├── main ├── ├── ├── main.go ├── ├── go.mod ...

14得票5回答
Docker多阶段构建Go镜像 - x509:由未知机构签署的证书

我尝试使用docker-multi-stage-build在私有公司网络中构建go镜像: FROM golang:latest as builder WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY . . RUN GO...

10得票2回答
构建时排除测试模块。

我的项目结构如下: ├── api │   ├── api.go │   ├── api_test.go │   ├── other_files... ├── cmd │   └── main.go 在cmd/main.go文件中,我拥有Go项目的入口点。 由于我还创建了一些测试文件,...

9得票1回答
如何在一个模块中忽略一个.go文件?

我正在使用 Go 重写一款我的家用程序,以前是用 Python 写的,顺便学习 Go。在重新考虑代码整个部分时,如果我可以忽略一些我编写的 .go 文件就太好了(它们会抛出编译错误,但这没关系,因为它们与我解决问题的最新方法不同步)。 我可以将它们移出目录或重命名,但我想知道是否有更符合习惯...

8得票1回答
将Golang项目依赖预编译到缓存中

简而言之,我的当前用例涉及在Docker容器内动态创建一个Golang插件。编译需要用户的一些新输入(这就是为什么它不是预先编译的原因),但依赖关系是静态的,不会改变。 目前,在Docker容器内从头开始完成整个编译(尽管使用了 go mod download 来减少时间)。我注意到 go ...

8得票2回答
Go插件 - "插件是使用不同版本的包构建的"

我有一个在启动时加载插件(守护进程)的应用程序。在子包(daemon/interfaces)中,我有几个接口,插件应该使用这些接口来与程序交互。 这意味着插件也会导入主程序。 我正在使用Go模块(用于主程序和插件),以修复版本问题,并且我可以在go.mod文件中看到它正在为插件使用主程序的...