Bagaimana untuk Mencipta Kunci Komposit untuk Peta Hash dalam Go?

Mary-Kate Olsen
Lepaskan: 2024-11-09 06:50:02
asal
426 orang telah melayarinya

How to Create Composite Keys for Hash Maps in Go?

Mencipta Kekunci Komposit untuk Peta Hash dalam Go

Dalam Go, mentakrifkan kunci komposit untuk peta cincang melibatkan penggabungan berbilang nilai untuk mencipta kunci unik. Teknik ini berguna apabila anda ingin mengindeks data berdasarkan berbilang parameter, seperti pengkomputeran dan menyimpan nilai pow(x, y) dengan x dan y ialah integer.

Penyelesaian

Pendekatan yang paling mudah ialah mencipta struct yang mewakili kunci komposit, menggabungkan yang diperlukan medan:

type Key struct {
    X, Y int
}
Salin selepas log masuk

Struktur ini mentakrifkan kunci dengan dua medan integer, X dan Y, yang boleh digunakan untuk mengenal pasti secara unik setiap entri dalam peta cincang:

m := map[Key]int{}
m[Key{2, 2}] = 4
m[Key{2, 3}] = 8

fmt.Println("2^2 = ", m[Key{2, 2}])
fmt.Println("2^3 = ", m[Key{2, 3}])
Salin selepas log masuk

Menggunakan ini struct sebagai jenis kunci memastikan bahawa setiap entri dalam peta boleh dikenal pasti secara unik berdasarkan nilai X dan Y. Ini membolehkan anda mendapatkan semula nilai tersimpan yang sepadan dengan cekap menggunakan kunci komposit.

Pertimbangan Penting

Adalah penting untuk ambil perhatian bahawa menggunakan penunjuk sebagai jenis kunci harus dielakkan, kerana mereka membandingkan alamat memori dan bukannya nilai sebenar. Selain itu, tatasusunan boleh digunakan sebagai jenis utama, tetapi ia kurang serba boleh berbanding struct.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Kunci Komposit untuk Peta Hash dalam 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