Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mewakili dan Menggunakan Kekunci Komposit dalam Jadual Go Hash?
Mencipta Kekunci Komposit untuk Jadual Cincang dalam Go
Dalam Go, jadual cincang ialah struktur data yang berharga untuk menyimpan dan mendapatkan semula data dengan cekap berdasarkan unik kunci. Walau bagaimanapun, apabila berurusan dengan berbilang nilai yang bergabung untuk membentuk kunci komposit, menentukan cara mewakili dan menggunakan kunci ini dalam jadual cincang boleh menjadi satu cabaran.
Mewakili Kunci Komposit
Untuk mewakili kunci komposit, satu pendekatan yang berkesan ialah mentakrifkan struktur data tersuai yang dikenali sebagai struktur "Kunci". Struktur ini merangkum nilai individu yang membentuk kunci:
type Key struct { X, Y int }
Dengan menggunakan struct, anda boleh menggabungkan berbilang nilai ke dalam satu kunci, menjadikannya mudah untuk membandingkan dan mengenal pasti kunci yang berbeza dalam jadual cincang.
Menggunakan Jenis Kunci Tersuai
Setelah struct Kunci tersuai ditakrifkan, anda boleh mencipta jadual cincang dengan jenis kunci ini:
m := map[Key]int{}
Jadual cincang ini menggunakan struct Kunci sebagai jenis kunci dan menyimpan nilai integer yang dikaitkan dengan setiap kunci.
Contoh Penggunaan
Mari kita pertimbangkan contoh menyimpan nilai yang dikira bagi pow(x, y) dalam jadual hash, dengan x dan y ialah integer. Menggunakan struct Kunci, kita boleh menjana kunci untuk setiap pasangan (x, y):
m := map[Key]int{} m[Key{2, 2}] = 4 m[Key{2, 3}] = 8
Kini, untuk mendapatkan semula nilai bagi pasangan tertentu, anda boleh menggunakan struct Kunci yang sama:
fmt.Println("2^2 = ", m[Key{2, 2}]) fmt.Println("2^3 = ", m[Key{2, 3}])
Pendekatan ini menyediakan cara yang fleksibel dan cekap untuk menyimpan dan mendapatkan semula data menggunakan kunci komposit dalam jadual cincang.
Atas ialah kandungan terperinci Bagaimana untuk Mewakili dan Menggunakan Kekunci Komposit dalam Jadual Go Hash?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!