>  기사  >  백엔드 개발  >  필드 임베딩을 사용하여 Go 구조체 간에 어떻게 변환할 수 있나요?

필드 임베딩을 사용하여 Go 구조체 간에 어떻게 변환할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-10-27 01:58:30731검색

How can I convert between Go structs using field embedding?

Go 구조체 간 변환

여러 구조체로 작업할 때 한 구조체에서 다른 구조체로 데이터를 변환해야 하는 경우가 종종 있습니다. Go에서는 필드 임베딩이라는 기술을 통해 이를 달성할 수 있습니다.

다음 코드 조각을 고려하세요.

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

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

이 예에서 구조체 B는 구조체 A를 포함합니다. 즉, 구조체 B 자체 필드 외에도 구조체 A의 모든 필드를 포함합니다.

A 유형의 값을 B 유형으로 변환하려면 간단히 A의 필드를 B의 필드에 할당하면 됩니다. 예를 들면 다음과 같습니다.

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

필드 임베딩을 통해 구조체 간에 쉽게 변환할 수 있으므로 필드를 수동으로 복사하거나 변환 방법을 만들 필요가 없습니다.

위 내용은 필드 임베딩을 사용하여 Go 구조체 간에 어떻게 변환할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.