php-Editor Xigua wird in diesem Artikel eine Frage zur Golang-Sprache diskutieren: ob es einen Erweiterungsoperator für Strukturen gibt. Als moderne Programmiersprache verfügt Golang über viele leistungsstarke Features und Funktionen, in einigen spezifischen Szenarien kann es für Entwickler jedoch erforderlich sein, die Struktur zu erweitern. In diesem Artikel werden die Kenntnisse im Zusammenhang mit der Strukturerweiterung in Golang im Detail vorgestellt und Lösungen gegeben. Wenn Sie sich für den strukturellen Spread-Operator von Golang interessieren, lesen Sie bitte diesen Artikel weiter.
hat die folgende Struktur, wobei postinput
是 createpost
die Parameter der Funktion sind.
type postinput struct { title string content string } type postinputwithtime struct { title string content string createdat time updatedat time }
wollte aber nicht, dass createdat
和 updatedat
dem Benutzer angezeigt wird, also habe ich es wie unten gezeigt zur Funktion hinzugefügt.
func createpost(input postinput) { updatedinput = postinputwithtime{ title: input.title content: input.content createdat: time.now() updatedat: time.now() } db.insertone(updatedinput) }
Es funktioniert gut, aber neugierig, ob es eine elegantere Möglichkeit gibt, dies zu tun? Ich weiß, dass es möglich ist, eine Struktur über einer anderen Struktur einzubetten, jedoch nicht auf der Stammebene (wie der Javascript-Spread-Operator).
// something like this type PostInputWithTime struct { ...PostInput CreatedAt UpdatedAt }
Gibt es einen Go[...]-Struktur-Spread-Operator wie den Javascript-Spread-Operator [...]?
Nein.
(Sie müssten Einbettung verwenden, Werte kopieren oder reflexionsbasierte Magie implementieren, aber nein, es gibt keine Weitergabe.)
Das obige ist der detaillierte Inhalt vonHat die Golang-Struktur einen Spread-Operator?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!