J'ai une chaîne comme "en = 10, ab = 15". Je veux obtenir 10 comme un int de cela. Je ne peux pas lancer les types, il retourne toujours des codes ASCII. Dois-je le convertir en carte?Chaîne d'analyse à int dans go language
-3
A
Répondre
0
Essayez comme ceci:
package main
import "strconv"
import "fmt"
func main() {
i, _ := strconv.ParseInt(#YOURSTRING#, 0, 64)
fmt.Println(i)
}
Il faut ensuite analyser dans un int
1
Vous pouvez utiliser:
i := strings.Index(st, "=")
puis
n, err := fmt.Sscan(st[i+1:], &d)
essayer this:
package main
import (
"fmt"
"log"
"strings"
)
func main() {
st := "en=10 , ab=15"
i := strings.Index(st, "=")
if i != -1 {
var d int
n, err := fmt.Sscan(st[i+1:], &d)
if err != nil || n != 1 {
log.Fatal(err)
}
fmt.Println(d)
}
}
sortie:
10
0
Vous devez diviser la chaîne, puis le convertir les composants individuels int.
var splits = strings.Replace("en=10 , ab=15", ",", "=")
splits = strings.split(splits, "=")
for var i := 0; i < splits.Len(); i++ {
splits[i].toInt()
}
Erreur de vérification !!!! –