Hat die Golang-Struktur einen Spread-Operator?

PHPz
Freigeben: 2024-02-09 12:36:19
nach vorne
392 Leute haben es durchsucht

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
}
Nach dem Login kopieren

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)
}
Nach dem Login kopieren

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
}
Nach dem Login kopieren

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!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!