Rumah > pembangunan bahagian belakang > Golang > Apakah Perbezaan Antara `struct{}` dan `struct{}{} `dalam Go?

Apakah Perbezaan Antara `struct{}` dan `struct{}{} `dalam Go?

DDD
Lepaskan: 2024-12-11 05:28:13
asal
381 orang telah melayarinya

What's the Difference Between `struct{}` and `struct{}{} `in Go?

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)
Salin selepas log masuk

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan