Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Berjaya Menggunakan Kompilasi Bersyarat dengan '// build' dalam Go?
Kompilasi Bersyarat di Golang
Anda menyebut menghadapi masalah dengan kompilasi bersyarat dalam Go. Berikut ialah penjelasan terperinci tentang kekangan "// build" dan bendera "-tags", bersama-sama dengan penyelesaian kepada masalah anda.
Kekangan "// build" memberitahu pengkompil yang membina tag untuk digunakan semasa menyusun fail tersebut. Dalam contoh anda, anda telah menggunakan "// build main1" untuk main1.go dan "// build main2" untuk main2.go. Ini bermakna bahawa fail ini hanya akan disusun apabila teg binaan yang sepadan ditentukan.
Untuk menyusun kod anda dengan teg binaan yang dikehendaki, anda boleh menggunakan bendera "-tags". Contohnya, untuk menyusun main1.go sahaja, anda boleh menjalankan:
$ go build -tags main1
Walau bagaimanapun, ralat yang anda hadapi menunjukkan bahawa anda mungkin mengalami butiran kecil yang penting untuk penyusunan bersyarat dalam Go: anda mesti mengikut baris "// build XXX" dengan baris kosong. Ini tidak didokumenkan secara eksplisit, tetapi ia jelas dalam kod sumber.
Berikut ialah versi ubah suai kod anda dengan baris kosong ditambah:
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") }
Sekarang, jalankan "go build -tags main1" hanya akan menyusun main1.go, seperti yang dijangkakan. Dengan mengikuti peraturan ini, anda boleh menggunakan kompilasi bersyarat dengan berkesan di Golang untuk menyertakan atau mengecualikan fail secara terpilih berdasarkan teg binaan yang ditentukan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Berjaya Menggunakan Kompilasi Bersyarat dengan '// build' dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!