Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Menghiris Kekunci dengan Cekap daripada Peta Go?

Bagaimanakah Saya Boleh Menghiris Kekunci dengan Cekap daripada Peta Go?

Patricia Arquette
Lepaskan: 2024-12-27 17:50:11
asal
515 orang telah melayarinya

How Can I Efficiently Slice Keys from a Go Map?

Menghiris Kekunci daripada Peta dalam Go

Soalan:

Adakah terdapat cara yang lebih cekap untuk mendapatkan sekeping kekunci daripada peta dalam Go?

Pada masa ini, pendekatan biasa adalah untuk lelaran di atas peta, menyalin kekunci ke dalam kepingan:

i := 0
keys := make([]int, len(mymap))
for k := range mymap {
    keys[i] = k
    i++
}
Salin selepas log masuk

Jawapan:

Menggunakan fungsi make dengan kapasiti kepingan yang ditentukan boleh meningkatkan kecekapan dengan menghapuskan keperluan untuk pengagihan semula:

keys := make([]int, len(mymap))

i := 0
for k := range mymap {
    keys[i] = k
    i++
}
Salin selepas log masuk

Pendekatan ini lebih ringkas sedikit dan menghapuskan overhed yang berkaitan dengan penambahan kepada sepotong. Dalam ujian dengan peta yang mengandungi sejumlah besar kunci, ia telah ditunjukkan 20% lebih pantas daripada menggunakan fungsi tambah.

Walaupun fungsi make menetapkan kapasiti hirisan, perlu diperhatikan bahawa penambahan masih memerlukan beberapa pemeriksaan overhed tambahan jika kapasiti telah dicapai pada setiap lampiran. Menugaskan ahli tatasusunan secara langsung boleh memberikan peningkatan prestasi dalam kes ini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghiris Kekunci dengan Cekap daripada Peta Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan