Tôi gặp rắc rối với việc biên soạn có điều kiện trong Go 1.Golang biên soạn có điều kiện
Đây là mã thử nghiệm của tôi. Có điều gì tôi hiểu sai về ràng buộc "// + build" và cờ "-tags" không?
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")
}
khi chạy "đi xây dựng", tôi vẫn nhận được biên dịch lỗi
$ go build -tags 'main1'
# test
./main2.go:8: main redeclared in this block
previous declaration at ./main1.go:8
Tài liệu được mô tả trong http://golang.org/pkg/go/build/#hdr-Build_Constraints. Cụ thể: "Để phân biệt ràng buộc xây dựng từ tài liệu gói, một loạt các ràng buộc xây dựng phải được theo sau bởi một dòng trống." – chowey