Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Memulakan Array Boolean dengan Cekap dalam Go Without For Loop?

Bagaimana untuk Memulakan Array Boolean dengan Cekap dalam Go Without For Loop?

Linda Hamilton
Linda Hamiltonasal
2024-11-01 02:04:02920semak imbas

How to Efficiently Initialize a Boolean Array in Go Without a For Loop?

Permulaan Tatasusunan Cekap tanpa For Loop in Go

Untuk memulakan tatasusunan nilai boolean dengan nilai sebenar, gelung for biasanya ialah pendekatan yang paling mudah. Walau bagaimanapun, terdapat kaedah alternatif yang boleh menjadi lebih cekap dalam senario tertentu.

Satu strategi ialah memanfaatkan fakta bahawa tatasusunan atau kepingan yang baru dibuat dalam Go dimulakan dengan nilai sifar. Untuk tatasusunan boolean, ini bermakna semua elemen adalah palsu. Dengan mencipta tatasusunan saiz yang diingini, anda boleh memulakan semua elemen secara berkesan kepada benar dengan hanya menetapkan elemen tatasusunan seperti berikut:

<code class="go">const n = 100
b := make([]bool, n)</code>

Pilihan lain ialah menggunakan sintaks literal komposit. Walaupun ini tidak jauh lebih pendek daripada menggunakan gelung for, ia boleh memberikan perwakilan yang lebih padat:

<code class="go">b1 := []bool{true, true, true}
b2 := [3]bool{true, true, true}</code>

Jika saiz tatasusunan besar, menggunakan gelung for kekal sebagai penyelesaian yang paling mudah dan paling berkesan. Walau bagaimanapun, anda boleh mempertimbangkan untuk memikirkan semula logik permohonan anda. Sebagai contoh, jika tatasusunan mewakili fail yang ada pada masa ini, sebaliknya anda boleh menggunakan kepingan untuk menyimpan sama ada fail tiada. Dengan cara ini, nilai sifar lalai palsu akan menunjukkan bahawa fail ada:

<code class="go">present := make([]bool, n)</code>

Akhir sekali, ambil perhatian bahawa untuk pemulaan tatasusunan yang lebih cekap, anda boleh merujuk kepada soalan "Adakah terdapat analog memset dalam Pergi?" untuk penyelesaian yang berpotensi.

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Array Boolean dengan Cekap dalam Go Without For Loop?. 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