Medan Tanpa Nama dalam Go Structs
Medan tanpa nama dalam struct Go menyediakan cara unik untuk membenamkan medan jenis lain ke dalam struct semasa tanpa menamakan mereka secara eksplisit. Ia membenarkan penggunaan semula kod, komposisi dan fleksibiliti dalam organisasi data.
Dalam contoh yang anda berikan:
type myType struct { string }
rentetan ialah medan tanpa nama dalam struct myType. Apabila anda mencipta tika myType, medan tanpa nama dinamakan rentetan secara dalaman (ini boleh dilihat dalam alat nyahpepijat).
Mengakses Medan Tanpa Nama
Tidak seperti medan yang dinamakan, yang boleh diakses terus menggunakan notasi titik (cth., obj.name), medan tanpa nama tidak boleh diakses oleh tanpa nama mereka nama. Walau bagaimanapun, mereka menyediakan sifat unik yang dikenali sebagai "promosi medan."
Medan tanpa nama pertama dalam struct dipromosikan secara automatik dan boleh diakses sebagai medan langsung struct induk. Ini bermakna anda boleh mengakses medan rentetan myType menggunakan obj.string.
Sebagai contoh, dalam kod berikut:
func main() { obj := myType{"Hello World"} fmt.Println(obj) // Prints "Hello World" }
Pernyataan fmt.Println mencetak nilai rentetan medan tanpa nama, yang boleh diakses sebagai obj.string.
Faedah Tanpa Nama Medan
Atas ialah kandungan terperinci Bagaimanakah Medan Tanpa Nama dalam Go Structs Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!