Go 구조체 간 변환
Go에서 구조체는 데이터를 구성하고 표현하는 편리한 방법을 제공합니다. 그러나 때로는 서로 다른 유형의 구조체 간 변환이 필요할 수 있습니다. 다음 시나리오를 고려하십시오.
A와 B라는 두 개의 구조체가 있습니다. 여기서 A는 몇 가지 필수 필드만 포함하고 B는 추가 필드를 보유하고 A의 모든 필드를 상속합니다. A 유형의 변수를 변환하려고 합니다. 값을 수동으로 복사하지 않고 B 유형으로 변환합니다.
솔루션
Go는 이러한 유형의 변환을 수행하는 간단한 방법을 제공합니다.
<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>
In 이 예에서 B 구조체는 익명 필드를 사용하여 A의 인스턴스를 포함합니다. structA를 structB로 변환하면 A에 존재하지 않았던 c 필드를 포함하여 structA의 필드가 structB의 해당 필드에 자동으로 할당됩니다. 이를 통해 기존 A 변수에서 완전한 B 구조를 쉽게 구성할 수 있습니다.
위 내용은 임베디드 구조를 사용하여 Go 구조체 간에 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!