Memahami Struktur Kosong dalam Go: struct{} dan struct{}{}
Dalam Go, kata kunci struct mentakrifkan data berstruktur jenis terdiri daripada unsur yang dinamakan. Walau bagaimanapun, struct{} dan struct{}{}, yang sering ditemui dalam kod Go idiomatik, patut diberi perhatian khusus.
struct{}: Struktur Kosong
Struktur {} ialah kes khas yang mewakili struct kosong tanpa unsur. Ia mempunyai sifat unik iaitu bersaiz sifar, bermakna tiada memori diperuntukkan kepada nilai jenis ini.
struktur{}{} sebagai Literal Komposit
Sebaliknya, struct{}{}, ditulis sama dengan int{5} atau []string{"Go", "Python"}, ialah literal komposit yang secara eksplisit membina nilai jenis struct{}. Literal ini tidak mempunyai medan kerana struct{} tidak mempunyai elemen yang ditentukan.
Aplikasi Struktur Kosong
Struktur kosong boleh menemui pelbagai kegunaan dalam kod Go:
Contoh: Mencipta Set Menggunakan Kosong Struct
Berikut ialah contoh menggunakan peta dengan jenis nilai struct kosong untuk mencipta set:
package main import "fmt" type Set map[string]struct{} func main() { s := make(Set) s["red"] = struct{}{} s["blue"] = struct{}{} fmt.Println(s) // Prints: map[blue:{} red:{}] }
Perhatikan bahawa pendekatan ini hanya menyemak kewujudan kunci, bukan nilai berkaitan mereka.
Atas ialah kandungan terperinci Apakah Kegunaan dan Sifat Struktur Kosong (`struct{}` dan `struct{}{}`) dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!