Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menduakan Struktur dengan Ahli Setara tetapi Jenis Tidak Serupa dalam Go?
Struktur Penduaan dengan Ahli Setara dan Jenis Tidak Serupa
Pertimbangkan senario berikut: anda mempunyai dua struktur yang berbeza, Foo dan Bar, setiap satu mempunyai struktur yang sama ahli tetapi berbeza dalam jenis asasnya. Objektif anda adalah untuk memindahkan kandungan satu struktur kepada yang lain.
Dalam keadaan ini, pertimbangkan takrifan struktur berikut:
type Common struct { Gender int From string To string } type Foo struct { Id string Name string Extra Common } type Bar struct { Id string Name string Extra Common }
Memandangkan contoh foo bagi Foo dan bar Bar, bagaimana bolehkah bar diduplikasi daripada foo?
Penyelesaian: Taip Penukaran
Memandangkan jenis asas Foo dan Bar adalah setara dari segi struktur, penukaran jenis boleh digunakan untuk mengubah jenis objek. Kod berikut menunjukkan cara menyalin nilai Foo ke nilai Bar menggunakan penukaran:
foo := Foo{Id: "123", Name: "Joe"} bar := Bar(foo)
Nota Keserasian Jenis
Adalah penting untuk diingat bahawa teknik penukaran jenis ini hanya berkesan apabila jenis asas struktur pada asasnya adalah sama, kecuali untuk sebarang tag struct.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menduakan Struktur dengan Ahli Setara tetapi Jenis Tidak Serupa dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!