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
354 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!

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