Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menetapkan Nilai Antara Struktur Go Serupa dengan Jenis Berbeza?

Bagaimana untuk Menetapkan Nilai Antara Struktur Go Serupa dengan Jenis Berbeza?

DDD
DDDasal
2024-12-13 20:32:18780semak imbas

How to Assign Values Between Similar Go Structs with Different Types?

Menetapkan Nilai Antara Struktur Serupa dengan Jenis Berbeza

Memiliki struct dengan ahli yang serupa tetapi jenis yang berbeza boleh mewujudkan keperluan untuk memindahkan data antara mereka. Dalam kes sedemikian, penukaran jenis boleh memberikan penyelesaian.

Pertimbangkan definisi struct 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
}

Untuk memindahkan nilai daripada struct Foo ke struct Bar, anda boleh menggunakan jenis penukaran:

foo := Foo{Id: "123", Name: "Joe"}
bar := Bar(foo)

Dalam kes ini, penukaran berfungsi kerana jenis asas Foo dan Bar adalah sama kecuali untuk strukturnya tag. Penukaran secara automatik memberikan nilai ahli biasa foo kepada ahli bar yang sepadan.

Untuk rujukan, contoh taman permainan disediakan: [Contoh Taman Permainan](https://play.golang.org/p /FmF4FjJ0B4n)

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Nilai Antara Struktur Go Serupa dengan Jenis Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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