Tidak Termasuk Fail Sumber Go Berdasarkan Seni Bina Semasa Penyusunan
Dalam pengaturcaraan Go, mungkin terdapat keadaan di mana pakej atau fail tertentu dalam projek bergantung pada sistem pengendalian atau seni bina tertentu. Untuk mengendalikan kebergantungan sedemikian dengan berkesan, Go menyediakan mekanisme yang dipanggil "kekangan bina."
Kekangan binaan membolehkan pembangun menentukan syarat di mana fail harus disertakan dalam proses penyusunan pakej. Kekangan ini dinyatakan melalui ulasan khas bermula dengan arahan, " bina."
Dengan memanfaatkan kekangan binaan, kami boleh menangani masalah yang dihadapi oleh pembangun yang mengalami ralat semasa menyusun atur cara Go untuk Windows semasa membangun pada Linux. Ralat disebabkan oleh pergantungan pada windows.h dalam pakej berasaskan CGo. Untuk menyelesaikan isu ini, pembangun boleh mengecualikan fail yang bergantung kepada Windows daripada proses kompilasi semasa membina untuk Linux.
Menurut dokumentasi Go, kekangan binaan menentukan ungkapan boolean yang menentukan sama ada fail harus disertakan dalam kompilasi. Ungkapan ini terdiri daripada pilihan yang dipisahkan ruang, di mana setiap pilihan menilai kepada DAN bagi istilah yang dipisahkan komanya. Setiap istilah mewakili perkataan abjad angka atau penafiannya apabila didahului dengan "!".
Sebagai contoh, kekangan binaan berikut akan termasuk fail dalam kompilasi hanya apabila membina untuk Linux dan seni bina 386, atau untuk Darwin (macOS) dan dengan CGo dilumpuhkan:
// +build linux,386 darwin,!cgo
Kekangan ini diterjemahkan kepada ungkapan boolean:
(linux AND 386) OR (darwin AND (NOT cgo))
Untuk mengecualikan fail daripada kompilasi, pembangun boleh menggunakan " bina abaikan" kekangan atau apa-apa perkataan lain yang tidak berpuas hati. Dengan memasukkan kekangan binaan, pembangun boleh menyertakan atau mengecualikan fail secara selektif berdasarkan sistem pengendalian sasaran, seni bina atau syarat tertentu lain, yang membawa kepada penyusunan dan pembangunan projek yang lebih lancar.
Atas ialah kandungan terperinci Bagaimanakah Membina Kekangan Membantu Mengecualikan Fail Sumber Go Berdasarkan Seni Bina Tertentu Semasa Penyusunan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!