Penukaran Antara Go Structs
In Go, struct menawarkan cara yang mudah untuk menyusun dan mewakili data. Walau bagaimanapun, menukar antara struktur jenis yang berbeza kadangkala diperlukan. Pertimbangkan senario berikut:
Anda mempunyai dua struct, A dan B, di mana A mengandungi hanya beberapa medan penting, manakala B memegang medan tambahan dan mewarisi semua medan daripada A. Anda ingin menukar pembolehubah jenis A ke dalam jenis B tanpa menyalin nilai secara manual.
Penyelesaian
Go menyediakan cara yang mudah untuk mencapai jenis penukaran ini:
<code class="go">package main type A struct { a int b string } type B struct { A c string // Additional fields } func main() { // Create a variable of type A structA := A{a: 42, b: "foo"} // Convert structA to type B using embedded struct structB := B{A: structA} }</code>
Dalam contoh ini, struct B membenamkan contoh A menggunakan medan tanpa namanya. Apabila menukar structA kepada structB, medan structA secara automatik diperuntukkan kepada medan yang sepadan dalam structB, termasuk medan c yang tidak terdapat dalam A. Ini membolehkan anda membina struktur B lengkap daripada pembolehubah A sedia ada dengan mudah.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Antara Go Structs dengan Structure Terbenam?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!