Ich habe reading about Typ Alias und komponierte Strukturen in Golang gewesen. Ich möchte in der Lage sein, zwei Strukturen zu haben, die strukturell identisch sind, aber leicht zwischen einander umgewandelt werden können.Convert Komponiert Typ in Golang
Ich habe eine übergeordnete Struktur wie folgt definiert:
type User struct {
Email string `json:"email"`
Password string `json:"password"`
}
Und eine bestandene Struktur wie folgt definiert:
type PublicUser struct {
*User
}
Ich würde erwarten, dass, wenn ich definieren eine User
:
a := User{
Email: "[email protected]",
Password: "1234",
}
Ich könnte dann die folgende Umwandlung durchführen:
b := (a).(PublicUser)
aber es funktioniert nicht mit einer ungültigen Typ Behauptung:
invalid type assertion: a.(PublicUser) (non-interface type User on left)
Wie kann ich zwischen strukturell ähnlichen Typen in Go-Format konvertieren?
https://play.golang.org/p/I0VqrflOfXU
"Ich habe eine Elternstruktur definiert". Nein, tust du nicht. Auf Go gibt es keine Eltern/Kind-Beziehung. Vergiss das jetzt und für immer. Über Kompositionen als Eltern/Kind nachzudenken ist nicht hilfreich. – Volker
Hey OP, ist es wichtig zu erklären, warum du entschieden hast, dass die Antwort nicht das war, was du wolltest? Du hast es einmal akzeptiert, also bin ich neugierig, ob du inzwischen Informationen gefunden hast –