Cara Menambahkan Tag Golang Build

Cara Menambahkan Tag Golang Build



Tag build di Go adalah fitur canggih yang memungkinkan kita menyertakan atau mengecualikan kode tertentu secara kondisional selama proses build berdasarkan batasan build tertentu. Fleksibilitas ini memungkinkan kami membuat build khusus platform untuk berbagai sistem operasi, arsitektur, atau kebutuhan spesifik lingkungan lainnya. Tag build adalah komentar khusus yang ditambahkan di awal file sumber, tepat di atas deklarasi paket. Tag ini memberikan instruksi kepada sistem Go build tentang cara menangani kode dalam file tersebut selama proses kompilasi.

Contoh 1: Tambahkan Tag Golang Build untuk Sistem Linux

Untuk menargetkan sistem operasi Linux, kita dapat menambahkan tag build “// +build linux”.

//pergi membangun linux

// +membangun linux

kemasan utama

impor 'fmt'

fungsi utama () {

fmt . Cetakln ( 'Halo contoh Sistem Linux' )

}

Di sini, kami menetapkan batasan build di Go yang menentukan bahwa kode hanya boleh dibuat jika sistem targetnya adalah Linux. Setelah itu, kami mendefinisikan paket dan mengimpor pernyataan yang diperlukan untuk kode tersebut. Kemudian, kita masuk ke metode main() di mana kita mencetak pesan menggunakan panggilan “Println” dari paket “fmt”.







Dengan demikian, pesan berhasil ditampilkan di konsol untuk sistem operasi Linux:





Contoh 2: Tambahkan Tag Golang Build untuk Sistem Windows

Ketika kita hanya ingin kode dieksekusi pada platform Windows, kita menggunakan tag build “// +build windows” di awal file. Dari situ, kami dapat memastikan bahwa kode tersebut hanya dimasukkan ke dalam build ketika Windows adalah platform yang dimaksud.





// +membuat jendela

kemasan utama

impor 'fmt'

fungsi utama () {

fmt . Cetakln ( 'Halo, contoh Windows!' )

}

Di sini, kami menggunakan batasan build “// +build windows” untuk memastikan bahwa kode hanya dikompilasi dan dieksekusi saat membuat untuk platform Windows. Setelah itu, kami menyertakan paket yang diperlukan untuk kode tersebut dengan pengubah paket dan impor. Kemudian muncul fungsi main() yang menggunakan fungsi println() untuk mencetak pernyataan saat membuat tag jendela di Golang.

Saat kami membangun dan menjalankan program ini pada sistem Windows, program ini menampilkan pesan “Halo, contoh Windows!” pesan ke konsol. Perhatikan bahwa program tidak akan dibangun atau dijalankan pada sistem operasi lain karena batasan build.



Contoh 3: Tambahkan Tag Golang Build untuk Sistem Non-Windows

Sebaliknya, jika kita ingin mengecualikan kode saat membuat untuk Windows, Anda dapat menggunakan tanda “!” tanda seru dengan tag build.

// +membangun !jendela

kemasan utama

impor 'fmt'

fungsi utama () {

fmt . Cetakln ( 'Halo, Kecuali Windows!' )

}

Di sini, kami membuat arahan batasan yang menunjukkan bahwa kode harus dibuat dan dieksekusi pada platform selain Windows. Tanda seru (!) sebelum Windows menunjukkan bahwa kode ini harus disertakan untuk semua platform kecuali Windows. Kemudian, kita melanjutkan dengan program yang sama seperti pada fungsi sebelumnya di mana kita pertama kali menambahkan paket dan memanggil fungsi main() untuk mengeksekusi pesan yang diteruskan di dalam fungsi println().

Dengan demikian, outputnya menghasilkan pesan di konsol sistem operasi. Perlu diingat bahwa ini tidak akan dijalankan pada sistem operasi Windows karena batasan build:

Contoh 4: Tambahkan Golang Build Tag dengan Logika OR

Untuk memasukkan kode saat menargetkan Windows ATAU Linux, kita dapat menggunakan tag build “// +build windows Linux”.

// +membangun Windows Linux

kemasan utama

impor 'fmt'

fungsi utama () {

fmt . Cetakln ( 'Hai, Pengguna Windows atau Linux' )

}

Di sini, kami menerapkan batasan build dengan logika OR yang ingin dibuat untuk sistem operasi Windows dan Linux. Baris “// +build windows Linux” menetapkan bahwa file ini harus disertakan dalam build ketika platform targetnya adalah Windows atau Linux. Selanjutnya, kita mengimpor paket “fmt” dari perpustakaan standar Go yang menyediakan fungsionalitas input dan output dasar. Pada fungsi utama, kita mencetak pernyataan string “Hai, Pengguna Windows atau Linux” menggunakan fungsi Println() dari paket “fmt”.

Oleh karena itu, outputnya diambil sebagai berikut. Pesan yang sama muncul baik kita menggunakan sistem operasi Windows atau Linux:

Contoh 5: Tambahkan Golang Build Tag dengan Logika AND

Kita dapat menentukan beberapa tag build untuk membuat kondisi yang lebih kompleks. Perintah “// +build windows,linux” dapat digunakan untuk menghasilkan kode untuk Linux dan Windows.

// +membangun jendela,386

kemasan utama

impor 'fmt'

fungsi utama () {

fmt . Cetakln ( 'Ini adalah Windows 32-bit' )

}

Di sini, batasan build yang didefinisikan adalah “// +build windows,386” yang menetapkan bahwa file Go harus disertakan dalam build ketika platform target adalah Windows 32-bit. Perhatikan bahwa kami menggunakan koma “,” di antara Windows dan 386 yang bertindak sebagai operator logika AND. Artinya kedua kondisi harus dipenuhi agar kode dapat disertakan dalam build.

Kemudian, mirip dengan contoh sebelumnya, kita mengimpor paket “fmt” dari perpustakaan standar Go untuk menggunakan fungsi Println() sebagai output. Kita mempunyai fungsi main() dari program yang pernyataannya diteruskan sebagai argumen ke fungsi println().

Saat kami membuat dan menjalankan program ini pada sistem Windows 32-bit, pesan yang ditentukan akan ditampilkan sebagai output. Namun, jika kami mencoba untuk membangun dan menjalankannya pada sistem operasi atau arsitektur yang berbeda, itu tidak akan disertakan dalam pembangunan:

Contoh 6: Tambahkan Tag Build Golang untuk Fungsi Tertentu

Selain itu, tag build juga dapat diterapkan ke fungsi tertentu dalam file. Karena keterbatasan build, kini kami dapat menyertakan atau menghapus fungsi tertentu secara kondisional.

kemasan utama

impor 'fmt'

fungsi utama () {

fmt . Cetakln ( 'Hei, selamat menikmati!' )

printWindowsMessage ()

}

// +membuat jendela

fungsi printWindowsMessage () {

fmt . Cetakln ( 'Halo Dari Sistem Operasi Windows' )

}

Di sini, kita sekarang beralih ke metode main() yang menggunakan metode Println() yang disediakan oleh paket “fmt” untuk mencetak pesan di awal. Kemudian, kami menerapkan fungsi printWindowsMessage() di bawah fungsi main() dan menentukan batasan build “// +build windows”. Hal ini menunjukkan bahwa fungsi tersebut hanya disertakan dalam build ketika platform targetnya adalah Windows.

Terakhir, kami menyetel fungsi printWindowsMessage() untuk mencetak pesan “Halo Dari Sistem Operasi Windows” yang ditentukan menggunakan fungsi Println().

Dengan demikian, keluaran diambil yang menampilkan pesan umum dan pesan khusus platform. Perhatikan bahwa jika kita membangun dan menjalankannya pada sistem operasi yang berbeda, fungsi printWindowsMessage() tidak akan disertakan dalam build, dan hanya pesan umum yang akan ditampilkan:

Kesimpulan

Menambahkan tag build di Go memberikan kemampuan untuk menyesuaikan penyertaan kode selama proses build. Dengan memanfaatkan tag build, kita dapat membuat build khusus platform, mengoptimalkan kode untuk arsitektur berbeda, dan bahkan menyertakan fungsi atau fitur tertentu secara kondisional.