나는 Golang의 reading about 유형 별칭 및 구성된 구조체였습니다. 나는 구조적으로 동일하지만 쉽게 서로간에 변환 될 수있는 두 개의 구조체를 가질 수 있기를 원합니다. 로 정의Golang에서 변경 한 구성 유형
type User struct {
Email string `json:"email"`
Password string `json:"password"`
}
그리고 합성 구조체 :로
나는 부모 구조가 정의되어
type PublicUser struct {
*User
}
내가 기대하는 나는 User
정의하는 경우 :
a := User{
Email: "[email protected]",
Password: "1234",
}
을 그런 다음 다음 유형 변환을 수행 할 수 있습니다.
b := (a).(PublicUser)
그러나 그것은 잘못된 유형의 주장 실패 :
invalid type assertion: a.(PublicUser) (non-interface type User on left)
이 어떻게 이동에 구조적으로 유사한 유형 사이에 변환 할 수 있습니까? 이동에
https://play.golang.org/p/I0VqrflOfXU
"부모가 정의되었습니다." 아니야. 이동에 _no_ 부모/자식 관계가 있습니다. 이제는 영원히 잊어 버려라. 부모/자녀로서 작곡을 생각하는 것은 도움이되지 않습니다. – Volker
안녕하세요 OP, 왜 대답이 당신이 원하는 것이 아니라고 결정했는지 설명해 주시겠습니까? 한번 받아 들였 잖아. 그래서 정보를 찾으면 궁금 하네. –