동일한 멤버 및 다른 유형의 구조체 복사
Go에서는 두 구조체가 동일한 멤버를 공유하지만 다른 유형. 예를 들어 다음 구조체 정의를 고려해 보세요.
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(foo라는 이름)의 인스턴스와 Bar(bar라는 이름)의 인스턴스가 주어지면 foo에서 bar로 값을 복사할 수 있나요?
유형 변환을 사용한 솔루션
Foo 및 Bar의 기본 유형이 구조체 태그를 제외하고는 동일하므로 유형 변환을 활용하여 유형을 변경할 수 있습니다. 여기에는 다음 단계가 포함됩니다.
foo := Foo{Id: "123", Name: "Joe"} bar := Bar(foo)
Playground 예제
Go Playground에서 이 솔루션을 테스트할 수 있습니다:
https://go.dev/play /p/j5jL1XFs-zG
참고: 변환은 구조체 태그를 제외하고 기본 유형이 동일한 경우에만 작동합니다. 구조체 내의 맵, 슬라이스 또는 배열과 같은 복잡한 유형의 경우 값 복사에 대한 보다 자세한 접근 방식이 필요합니다.
위 내용은 Go의 유형 변환은 멤버는 동일하지만 유형이 다른 구조체 간에 값을 복사할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!