Bagaimanakah saya boleh menukar antara struct Go menggunakan pembenaman medan?

Susan Sarandon
Lepaskan: 2024-10-27 01:58:30
asal
730 orang telah melayarinya

How can I convert between Go structs using field embedding?

Menukar Antara Go Structs

Apabila bekerja dengan berbilang struct, selalunya perlu untuk menukar data daripada satu struct kepada yang lain. Dalam Go, ini boleh dicapai melalui teknik yang dipanggil pembenaman medan.

Pertimbangkan coretan kod berikut:

<code class="go">type A struct {
    a int
    b string
}

type B struct {
    A // field embedding of A
    c string
    // more fields
}</code>
Salin selepas log masuk

Dalam contoh ini, struct B membenamkan struct A. Ini bermakna struct B mengandungi semua medan struct A sebagai tambahan kepada medannya sendiri.

Untuk menukar nilai jenis A kepada jenis B, anda hanya boleh menetapkan medan A kepada medan B. Contohnya:

<code class="go">func main() {
    structA := A{a: 42, b: "foo"}

    // assign structA to the embedded A field of structB
    structB := B{A: structA}
}</code>
Salin selepas log masuk

Melalui pembenaman medan, anda boleh menukar antara struct dengan mudah, menghapuskan keperluan untuk menyalin medan secara manual atau mencipta kaedah penukaran.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar antara struct Go menggunakan pembenaman medan?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!