一尘不染

Golang条件编译

go

我在Go 1中使用条件编译遇到了麻烦。

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

main1.go

// +build main1
package main

import (
    "fmt"
)

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

main2.go

// +build main2
package main

import (
    "fmt"
)

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

运行“执行构建”时,我仍然出现编译错误

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

阅读 253

收藏
2020-07-02

共1个答案

一尘不染

您必须跟随// +build XXX一个空白行。

在我的简短搜索中,找不到该文件的记录位置/位置。但消息人士明确指出

2020-07-02