Beispiel Eingabe: (Typ: string
)Wie konvertiere ich String von int-Scheibe in int-Scheibe?
"[156, 100, 713]"
Beispiel Umwandlung: (Typ: Scheibe int
)
[156, 100, 713]
Beispiel Eingabe: (Typ: string
)Wie konvertiere ich String von int-Scheibe in int-Scheibe?
"[156, 100, 713]"
Beispiel Umwandlung: (Typ: Scheibe int
)
[156, 100, 713]
Beachten Sie neben Mhutters Antwort auch, dass Ihre Eingabe string
wie ein JSON-Array aussieht (vielleicht stammt sie von einem JSON-Text?). Wenn Sie es so behandeln, können Sie den Inhalt in ein []int
Segment entpacken. Dies wird nicht schneller sein, dass die Zahlen von ihr direkt Parsen (wie das encoding/json
Paket Reflexion verwendet), aber es ist sicherlich einfacher:
s := "[156, 100, 713]"
var is []int
if err := json.Unmarshal([]byte(s), &is); err != nil {
panic(err)
}
fmt.Println(is)
fmt.Printf("%#v", is)
Output (versuchen Sie es auf den Go Playground):
[156 100 713]
[]int{156, 100, 713}
Bei einem String
in := "[156, 100, 713]"
Lassen Sie uns zunächst loswerden die eckigen Klammern:
trimmed := strings.Trim(in, "[]")
//=> "156, 100, 713"
Als nächstes teilen Sie die Zeichenfolge in eine Scheibe von Strings:
strings := strings.Split(trimmed, ", ")
//=> []string{"156", "100", "713"}
Jetzt können wir die Saiten zu Ints
ints := make([]int, len(strings))
for i, s := range strings {
ints[i], _ = strconv.Atoi(s)
}
fmt.Printf("%#v\n", ints)
//=> []int{156, 100, 713}
Weitere Informationen umwandeln sehen die go docs: https://devdocs.io/go/strings/index
Was hat es schon versucht? https://stackoverflow.com/help/how-to-ask – mhutter