Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Melangkau Nilai Apabila Menggunakan Iota untuk Menentukan Pemalar dalam Go?

Bagaimanakah Saya Boleh Melangkau Nilai Apabila Menggunakan Iota untuk Menentukan Pemalar dalam Go?

Linda Hamilton
Linda Hamiltonasal
2024-11-21 07:00:14507semak imbas

How Can I Skip Values When Using Iota to Define Constants in Go?

Bagaimana untuk Melangkau Banyak Nilai Semasa Menentukan Pembolehubah Konst dengan Iota?

Iota, integer yang sentiasa meningkat, memudahkan penghitungan berterusan dalam Go. Walau bagaimanapun, melangkau nilai yang besar semasa penghitungan boleh menjadi mencabar.

Offset Manual dengan Kumpulan Tunggal

Untuk satu kumpulan pemalar, tetapkan offset eksplisit kepada iota, biarkan ungkapan pemulaan berikutnya kosong:

const (
    APPLE = iota
    ORANGE
    PEAR
    BANANA = iota + 96 // Manually calculate the offset to obtain 99
    GRAPE
)

Memecahkan Kumpulan Malar

Kepada elakkan menjejaskan pemalar berikutnya jika anda memasukkan elemen sebelum BANANA, pecahkan kumpulan:

const (
    APPLE = iota
    ORANGE
    PEAR
)
const (
    BANANA = iota + 99 // Iota resets to 0 for the new group
    GRAPE
)

Kumpulan Tunggal dengan Offset Automatik

Untuk satu kumpulan, perkenalkan pemalar di mana anda mahu "pecah" penomboran dan tolak nilainya daripada iota dalam baris berikutnya:

const (
    APPLE = iota
    ORANGE
    PEAR

    _BREAK

    BANANA = iota - _BREAK + 98 // Continue from 99 + 1 = 99
    GRAPE
)

Rasa Keutamaan

"_BREAK" boleh dimulakan dengan iota 1 untuk pengiraan offset yang mudah:

const (
    APPLE = iota
    ORANGE
    PEAR

    _BREAK = iota + 1

    BANANA = iota - _BREAK + 99 // Continue from 99
    GRAPE
)

Pilih kaedah yang paling sejajar dengan pilihan dan gaya pembangunan anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melangkau Nilai Apabila Menggunakan Iota untuk Menentukan Pemalar dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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