Tujuan Medan Struktur Kosong dengan Nama Garis bawah
Menguatkuasakan Medan Berkunci dalam Struktur
Dalam Go, terdapat teknik pengekodan yang melibatkan medan struct kosong bernama dengan garis bawah ("_"). Memahami tujuannya adalah penting untuk pembangun.
Masalah:
SomeType struct mengandungi medan "_ struct{}". Apakah yang dicapai?
Jawapan:
Medan struct kosong yang dinamakan dengan garis bawah menguatkuasakan penggunaan medan berkunci semasa mengisytiharkan struct.
Sebagai contoh, struct berikut hanya boleh diisytiharkan dengan medan berkunci:
taip SomeType struct {
Field1 string
Field2 bool
_ struct{}
}
Medan berkunci memastikan bahawa nama medan dinyatakan secara eksplisit semasa instantiasi, meningkatkan kebolehbacaan kod dan mencegah kemungkinan ralat.
bar := SomeType{Field1: "hello", Field2: true} // Dibenarkan
foo := SomeType{"hello", true} // Ralat kompilasi
Atas ialah kandungan terperinci Mengapa Menggunakan Medan `_ struct{}` Kosong dalam Go Struct?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!