Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Berjaya Menggunakan Kompilasi Bersyarat dengan '// build' dalam Go?

Bagaimanakah Saya Boleh Berjaya Menggunakan Kompilasi Bersyarat dengan '// build' dalam Go?

DDD
Lepaskan: 2024-12-14 09:04:11
asal
214 orang telah melayarinya

How Can I Successfully Use Conditional Compilation with

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
Salin selepas log masuk

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")
}
Salin selepas log masuk

main2.go

// +build main2

package main

import (
    "fmt"
)

func main() {
    fmt.Println("This is main 2")
}
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan