Memahami Sifat struct{} dan struct{}{} dalam Go
Go memanfaatkan konsep struct untuk mentakrifkan jujukan dinamakan elemen. Walaupun struct{} dan struct{}{} mungkin kelihatan serupa, ia mempunyai perbezaan yang halus.
struct{}: The Zero-Sized Empty Struct
Satu struct{ } mewakili struct tanpa elemen yang ditentukan. Ia wujud terutamanya untuk tidak menyimpan data. Saiznya yang kecil membolehkan penggunaan memori yang cekap tanpa memerlukan ruang tambahan.
struktur{}: Harfiah Komposit untuk Struktur Kosong
Sebaliknya, struct{}{} membina nilai jenis struct{}. Sintaksnya menampilkan jenis struct diikuti dengan pendakap kosong, kerana tiada medan wujud.
Memanfaatkan struct{} dalam Amalan: Mencipta Set
Go sememangnya kekurangan data set struktur, tetapi peta menawarkan alternatif yang berdaya maju. Dengan mentakrifkan jenis nilai peta sebagai struct{}, kami mencipta set analog yang hanya menyimpan kunci. Teknik ini mengekalkan kesamaan kunci dalam peta.
Contohnya:
var set map[string]struct{} set = make(map[string]struct{}) set["red"] = struct{}{} set["blue"] = struct{}{} _, ok := set["red"] fmt.Println("Is red in the map?", ok)
Fungsi peta mempamerkan kehadiran atau ketiadaan kunci, meniru gelagat set.
Atas ialah kandungan terperinci Apakah Perbezaan Antara `struct{}` dan `struct{}{} `dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!