> 백엔드 개발 > Golang > 유형이 다른 유사한 Go 구조체 간에 값을 할당하는 방법은 무엇입니까?

유형이 다른 유사한 Go 구조체 간에 값을 할당하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-13 20:32:18
원래의
696명이 탐색했습니다.

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

고유한 유형의 유사한 구조체 간에 값 할당

구성원은 동일하지만 유형이 다른 구조체가 있으면 구조체 간에 데이터를 전송해야 할 필요성이 발생할 수 있습니다. 이러한 경우 유형 변환이 해결책을 제공할 수 있습니다.

다음 구조체 정의를 고려하세요.

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
}
로그인 후 복사

Foo 구조체에서 Bar 구조체로 값을 전송하려면 유형을 사용할 수 있습니다. 변환:

foo := Foo{Id: "123", Name: "Joe"}
bar := Bar(foo)
로그인 후 복사

이 경우 Foo와 Bar의 기본 유형이 구조체 태그를 제외하고 동일하기 때문에 변환이 작동합니다. 변환은 foo의 Common 멤버 값을 bar의 해당 멤버에 자동으로 할당합니다.

참고로 플레이그라운드 예제가 제공됩니다: [플레이그라운드 예제](https://play.golang.org/p /FmF4FjJ0B4n)

위 내용은 유형이 다른 유사한 Go 구조체 간에 값을 할당하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿