Heim  >  Artikel  >  Backend-Entwicklung  >  Hat die Golang-Struktur einen Spread-Operator?

Hat die Golang-Struktur einen Spread-Operator?

PHPz
PHPznach vorne
2024-02-09 12:36:19394Durchsuche

golang 结构是否有扩展运算符

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.

Frageninhalt

hat die folgende Struktur, wobei postinputcreatepost 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 createdatupdatedat 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
}

Lösung

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen