Heim > Backend-Entwicklung > Golang > Wie stelle ich in Go einen String einem variadischen Interface{}-Slice voran?

Wie stelle ich in Go einen String einem variadischen Interface{}-Slice voran?

Mary-Kate Olsen
Freigeben: 2024-12-07 12:57:12
Original
589 Leute haben es durchsucht

How to Prepend a String to a Variadic Interface{} Slice in Go?

Voranstellen eines Strings an ein Slice mit variablem Argument in Go

In Go können Sie mit der Funktion append() Elemente an ein Slice desselben Typs anhängen. Wenn es sich jedoch um eine Methode handelt, die ein variables Argument-Slice vom Typ ...interface{} akzeptiert, führt das direkte Anhängen einer Zeichenfolge mit append("some string", v) zu einem Fehler.

Um erfolgreich voranzustellen Wenn Sie dem Variablenargument Slice einen String hinzufügen möchten, müssen Sie ein Slice mit Interface{}-Werten verwenden. Dies liegt daran, dass ...interface{} Elemente jeden Typs zulässt. Um dies zu erreichen, können Sie die Anfangszeichenfolge in ein []interface{}-Slice einschließen:

func (l Log) Error(v ...interface{}) {
  stringInterface := []interface{}{" ERROR "}
  l.Out.Println(append(stringInterface, v...))
}
Nach dem Login kopieren

Dies umschließt die ERROR-Zeichenfolge in ein []interface{}-Slice, das dann an die Variable angehängt werden kann Argument Slice v.

Hier ist ein Beispiel:

package main

import "fmt"

func main() {
  s := "first"
  rest := []interface{}{"second", 3}

  all := append([]interface{}{s}, rest...)
  fmt.Println(all)
}
Nach dem Login kopieren

Ausgabe:

[first second 3]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie stelle ich in Go einen String einem variadischen Interface{}-Slice voran?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage