在GO1中,我遇到了条件编译的问题.

这是我的测试代码.关于"//+build"约束和"-tags"标志,我有什么误解吗?

main1.go

// +build main1
package main

import (
    "fmt"
)

func main() {
    fmt.Println("This is main 1")
}

缅因州2.go

// +build main2
package main

import (
    "fmt"
)

func main() {
    fmt.Println("This is main 2")
}

当运行"Go Build"时,我仍然收到编译错误

$ go build -tags 'main1'
# test
./缅因州2.go :8: main redeclared in this block
        previous declaration at ./main1.go:8

推荐答案

你必须在// +build XXX后面加一个空行.

在我的简短搜索中,我找不到在哪里/是否有记录.但the source显然说明了这一点

Go相关问答推荐

如何在Deliverq中高效地传达客户依赖关系?

如何在使用中介资源时处理函数中的`defer`

为什么Slices包中的函数定义Slice参数的类型参数?

golang 的持久隐蔽服务

如何在VSCode中为特定的.go文件创建调试配置?

Go安装成功但没有输出简单的Hello World

Golang和Gin web框架在router.Run()之后执行代码

「GORM错误」不支持的数据类型:&[],不正确的模式

GORM中是否可能自动迁移具有循环关系的表?

如何从Go项目连接Microsoft Access数据库?

如何解决我的 Go 聊天应用程序中 cookie 未在本地主机端口之间传输的问题?

如何以干净的方式在中间件中注入 repo 或服务?

我的神经网络(从头开始)训练,让它离目标更远

使用 Go 根据 /etc/shadow 文件中的散列密码验证密码

如何在 golang revel 中获取动态应用程序配置

Golang invopop jsonschema 使用 if/then/else

如何在测试中使用自定义标志(使用`testify/suite`)

将未知长度切片的值分配给Go中的 struct ?

将基本 HTTP AUth 用户/密码凭据存储在 GO 中,无需外部包

从 map 返回空数组而不是空字符串数组