Cara Menambah Tag Binaan Golang

Cara Menambah Tag Binaan Golang



Teg binaan dalam Go ialah ciri berkuasa yang membolehkan kami menyertakan atau mengecualikan kod tertentu secara bersyarat semasa proses binaan berdasarkan kekangan binaan tertentu. Fleksibiliti ini membolehkan kami mencipta binaan khusus platform untuk sistem pengendalian yang berbeza, seni bina atau keperluan khusus persekitaran yang lain. Teg binaan ialah ulasan khas yang ditambahkan pada permulaan fail sumber, tepat di atas pengisytiharan pakej. Teg ini memberikan arahan kepada sistem binaan Go tentang cara mengendalikan kod dalam fail tersebut semasa proses penyusunan.

Contoh 1: Tambah Teg Binaan Golang untuk Sistem Linux

Untuk menyasarkan sistem pengendalian Linux, kami boleh menambah teg binaan “// +build linux”.

//pergi bina linux

// +bina linux

pakej utama

import 'fmt'

fungsi utama () {

fmt . Println ( 'Contoh Sistem Hello Linux' )

}

Di sini, kami menetapkan kekangan binaan dalam Go yang menyatakan bahawa kod hanya perlu dibina jika sistem sasaran ialah Linux. Selepas itu, kami mentakrifkan pakej dan mengimport pernyataan yang diperlukan untuk kod tersebut. Kemudian, kami masukkan kaedah main() di mana kami mencetak mesej menggunakan panggilan 'Println' daripada pakej 'fmt'.







Oleh itu, mesej dipaparkan pada konsol dengan jayanya untuk sistem pengendalian Linux:





Contoh 2: Tambahkan Teg Binaan Golang untuk Sistem Windows

Apabila kami hanya mahu kod dilaksanakan pada platform Windows, kami menggunakan teg binaan '// +build windows' pada permulaan fail. Daripada itu, kami boleh memastikan bahawa kod itu hanya dimasukkan ke dalam binaan apabila Windows adalah platform yang dimaksudkan.





// +bina tingkap

pakej utama

import 'fmt'

fungsi utama () {

fmt . Println ( 'Helo, contoh Windows!' )

}

Di sini, kami menggunakan kekangan binaan “// +build windows” untuk memastikan kod tersebut hanya disusun dan dilaksanakan semasa membina untuk platform Windows. Selepas itu, kami memasukkan pakej yang diperlukan untuk kod dengan pakej dan pengubah import. Kemudian datang fungsi main() yang menggunakan fungsi println() untuk mencetak pernyataan semasa membina teg tetingkap di Golang.

Apabila kami membina dan menjalankan program ini pada sistem Windows, ia menunjukkan 'Hello, contoh Windows!' mesej kepada konsol. Ambil perhatian bahawa program ini tidak akan dibina atau dilaksanakan pada sistem pengendalian lain disebabkan oleh kekangan binaan.



Contoh 3: Tambahkan Tag Binaan Golang untuk Sistem Bukan Windows

Sebaliknya, jika kami ingin mengecualikan kod semasa membina untuk Windows, anda boleh menggunakan '!' tanda seru dengan teg binaan.

// +bina !windows

pakej utama

import 'fmt'

fungsi utama () {

fmt . Println ( 'Hello, Kecuali Windows!' )

}

Di sini, kami membina arahan kekangan yang menunjukkan bahawa kod itu harus dibina dan dilaksanakan pada platform selain daripada Windows. Tanda seru (!) sebelum Windows menandakan bahawa kod ini harus disertakan untuk semua platform kecuali Windows. Kemudian, kami meneruskan program yang sama seperti dalam fungsi sebelumnya di mana kami mula-mula menambah pakej dan memanggil fungsi main() untuk melaksanakan mesej yang dihantar di dalam fungsi println().

Oleh itu, output menjana mesej pada konsol sistem pengendalian. Perlu diingat bahawa ia tidak akan dilaksanakan pada sistem pengendalian Windows kerana kekangan binaan:

Contoh 4: Tambah Tag Binaan Golang dengan Logik OR

Untuk memasukkan kod apabila menyasarkan Windows ATAU Linux, kami boleh menggunakan teg binaan “// +build windows Linux”.

// +bina windows Linux

pakej utama

import 'fmt'

fungsi utama () {

fmt . Println ( 'Hei, Pengguna Windows atau Linux' )

}

Di sini, kami menggunakan kekangan binaan dengan OR logik yang berhasrat untuk dibina untuk kedua-dua sistem pengendalian Windows dan Linux. Baris '// +build windows Linux' menentukan bahawa fail ini harus disertakan dalam binaan apabila platform sasaran sama ada Windows atau Linux. Seterusnya, kami mengimport pakej 'fmt' daripada perpustakaan standard Go yang menyediakan kefungsian input dan output asas. Dalam fungsi utama, kami mencetak pernyataan rentetan 'Hey, Windows atau Linux Users' menggunakan fungsi Println() daripada pakej 'fmt'.

Oleh itu, output diperoleh dalam perkara berikut. Mesej yang sama dihasilkan sama ada kami menggunakan sistem pengendalian Windows atau Linux:

Contoh 5: Tambah Tag Binaan Golang dengan Logik DAN

Kami boleh menentukan berbilang teg binaan untuk mencipta keadaan yang lebih kompleks. Perintah “// +build windows,linux” boleh digunakan untuk menjana kod untuk kedua-dua Linux dan Windows.

// +bina tingkap,386

pakej utama

import 'fmt'

fungsi utama () {

fmt . Println ( 'Ini ialah Windows 32-bit' )

}

Di sini, kekangan binaan yang ditakrifkan ialah '// +build windows,386' yang menyatakan bahawa fail Go harus disertakan dalam binaan apabila platform sasaran ialah Windows 32-bit. Ambil perhatian bahawa kami menggunakan koma ',' di antara Windows dan 386 yang bertindak sebagai operator DAN logik. Ini bermakna kedua-dua syarat mesti dipenuhi untuk kod dimasukkan ke dalam binaan.

Kemudian, sama seperti contoh sebelumnya, kami mengimport pakej 'fmt' daripada perpustakaan standard Go untuk menggunakan fungsi Println() untuk output. Kami mempunyai fungsi main() atur cara di mana pernyataan itu diluluskan sebagai hujah kepada fungsi println().

Apabila kami membina dan menjalankan program ini pada sistem Windows 32-bit, ia memaparkan mesej yang ditentukan sebagai output. Walau bagaimanapun, jika kami cuba membina dan menjalankannya pada sistem pengendalian atau seni bina yang berbeza, ia tidak akan disertakan dalam binaan:

Contoh 6: Tambah Teg Binaan Golang untuk Fungsi Tertentu

Selain itu, tag binaan juga boleh digunakan pada fungsi tertentu dalam fail. Oleh kerana kekangan binaan, kami kini boleh menyertakan atau mengalih keluar fungsi tertentu secara bersyarat.

pakej utama

import 'fmt'

fungsi utama () {

fmt . Println ( 'Hai, selamat mencuba!' )

printWindowsMessage ()

}

// +bina tingkap

fungsi printWindowsMessage () {

fmt . Println ( 'Hello Dari Sistem Pengendalian Windows' )

}

Di sini, kita kini beralih kepada kaedah main() yang menggunakan kaedah Println() yang disediakan oleh pakej 'fmt' untuk mencetak mesej pada mulanya. Kemudian, kami menggunakan fungsi printWindowsMessage() di bawah fungsi main() dan nyatakan kekangan binaan “// +build windows”. Ini menunjukkan bahawa fungsi itu hanya disertakan dalam binaan apabila platform sasaran ialah Windows.

Akhir sekali, kami menetapkan fungsi printWindowsMessage() untuk mencetak mesej 'Hello From Windows Operating system' yang ditentukan menggunakan fungsi Println().

Oleh itu, output diperoleh semula yang memaparkan kedua-dua mesej umum dan mesej khusus platform. Ambil perhatian bahawa jika kami membina dan menjalankannya pada sistem pengendalian yang berbeza, fungsi printWindowsMessage() tidak akan disertakan dalam binaan dan hanya mesej umum akan dipaparkan:

Kesimpulan

Menambah teg binaan dalam Go memberikan keupayaan untuk menyesuaikan kemasukan kod semasa proses binaan. Dengan memanfaatkan teg binaan, kami boleh mencipta binaan khusus platform, mengoptimumkan kod untuk seni bina yang berbeza, malah dengan syarat menyertakan fungsi atau ciri tertentu.