Dalam Go, iota ialah penjana malar yang membolehkan anda mentakrifkan berbilang pemalar secara berurutan. Walau bagaimanapun, bagaimana jika anda perlu melangkau sejumlah besar nilai semasa proses ini?
Pendekatan paling mudah ialah mengalihkan iota dengan pemalar, meninggalkan ungkapan permulaan berikutnya kosong. Contohnya:
const ( APPLE = iota ORANGE PEAR BANANA = iota + 96 // 96 is manually calculated to get 99 GRAPE )
Ini akan melangkau 96 nilai sebelum memberikan 99 kepada BANANA. Walau bagaimanapun, ambil perhatian bahawa penambahan elemen sebelum BANANA akan menjejaskan nilai BANANA dan pemalar seterusnya.
Jika anda perlu mengelakkan pergantungan ini, anda boleh memecahkan kumpulan malar dan mulakan yang baru. Nilai Iota ditetapkan semula kepada 0 apabila menemui const perkataan terpelihara. Contohnya:
const ( APPLE = iota ORANGE PEAR ) const ( BANANA = iota + 99 // iota is reset to 0 GRAPE )
Kaedah ini memastikan bahawa memasukkan elemen sebelum PISANG tidak akan mengubah nilai PISANG dan pemalar seterusnya.
Untuk mengekalkan kumpulan pemalar tunggal sambil melangkau nilai, perkenalkan pemalar di mana anda ingin memecahkan penomboran. Tolak nilainya daripada iota dalam baris berikutnya.
const ( APPLE = iota ORANGE PEAR _BREAK BANANA = iota - _BREAK + 98 // Continues from 98 + 1 = 99 GRAPE )
Sebagai alternatif, anda boleh memulakan _BREAK dengan iota 1, menjadikan offset digunakan nilai _BREAK itu sendiri.
const ( APPLE = iota ORANGE PEAR _BREAK = iota + 1 BANANA = iota - _BREAK + 99 // Continues from 99 GRAPE )
Pilih pendekatan yang paling sesuai dengan struktur dan keutamaan kod anda untuk melangkau nilai dengan cekap apabila mentakrifkan pemalar dengan iota dalam Pergi.
Atas ialah kandungan terperinci Bagaimana untuk Melangkau Nilai dengan Cekap Menggunakan Iota dalam Go Constants?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!