Heim > Backend-Entwicklung > Golang > Wie konvertiere ich „interface{}' sicher in „string' in Go, wenn ich docopt verwende?

Wie konvertiere ich „interface{}' sicher in „string' in Go, wenn ich docopt verwende?

Susan Sarandon
Freigeben: 2024-12-02 20:40:20
Original
863 Leute haben es durchsucht

How to Safely Convert `interface{}` to `string` in Go When Using docopt?

Konvertierung von interface{} in String in Go

Bei Verwendung von docopt zum Parsen von Befehlszeilenargumenten ist das Ergebnis eine Karte vom Typ „map[string]interface{“ }. Beim Versuch, Werte aus dieser Karte zu verketten, kann jedoch aufgrund einer Typinkongruenz ein Fehler auftreten. Dies liegt daran, dass die Werte der Karte vom Typ interface{} sind, was alles sein kann. Um dieses Problem zu beheben, ist eine Typzusicherung erforderlich.

Um einen Interface{}-Wert in eine Zeichenfolge umzuwandeln, verwenden Sie den Operator .(string). Dieser Operator bestätigt, dass der Wert in eine Zeichenfolge umgewandelt werden kann. Beispiel:

host := arguments["<host>"].(string) + ":" + arguments["<port>"].(string)
Nach dem Login kopieren

In diesem Beispiel werden die Werte für „Host“ und „Port“ aus der Argumentzuordnung abgerufen und dann mit dem Operator .(string) in Zeichenfolgen konvertiert.

Neueste Versionen von docopt stellen ein Opts-Objekt mit Methoden zur Typkonvertierung bereit. Diese Methoden können wie folgt verwendet werden:

host, err := arguments.String("<host>")
port, err := arguments.String("<port>")
host_port := host + ":" + port
Nach dem Login kopieren

Die String()-Methode wandelt den Wert in einen String um und vereinfacht so den Typkonvertierungsprozess.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich „interface{}' sicher in „string' in Go, wenn ich docopt verwende?. 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