Un type de données fourni nativement par le langage de programmation Go est une chaîne. Une chaîne vous permet de stocker une séquence de caractères, y compris des caractères alphanumériques.
Dans certains cas, vous pouvez avoir une valeur numérique stockée dans un format de chaîne. Pour effectuer toutes les opérations impliquant un type int, vous devez le convertir en un int.
Ce tutoriel vous aidera à découvrir diverses méthodes et techniques de conversion d'une chaîne en un INT en Go.
Golang Créer une chaîne
En Go, nous utilisons des guillemets doubles pour représenter une chaîne. Un exemple de programme est illustré ci-dessous:
package principal
Importer «FMT»
func main ()
VAR VALLE = «1000»
fmt.Println (valeur)
Nous avons une variable de chaîne contenant une valeur «numérique» dans le programme d'exemples. Gardez à l'esprit que la valeur peut nous sembler numérique, mais la valeur est une chaîne au compilateur.
Par conséquent, si une opération mathématique sur la valeur est tentée, le compilateur renvoie une erreur.
Package principal
Importer «FMT»
func main ()
VAR VALLE = «1000»
fmt.Println (valeur * 3)
La sortie du compilateur sera:
$ go run string_to_int.aller
# Command-Line-Arguments
.\ string_to_int.GO: 7: 14: Opération non valide: valeur * 3 (Types non apparentés String et intact Int)
Golang Parse String à int # 1
Go fournit la fonction atoi () du package StrConv pour analyser une chaîne à un type int.
https: // pkg.aller.dev / strConv # atoi
Par exemple, pour convertir la variable «valeur» du programme précédent en un int:
package principal
importer (
"FMT"
"strConv"
)
func main ()
valeur: = "1000"
Si n, err: = strConv.Atoi (valeur); err == nil
fmt.Println (n * 3)
À partir du programme ci-dessus, nous commençons par importer le package STRCONV. Cela nous donne accès à la fonction atoi (). Nous utilisons ensuite la fonction atoi () pour analyser la chaîne à un int et effectuer une opération mathématique.
Nous pouvons vérifier le type de la valeur comme:
package principal
importer (
"FMT"
"strConv"
)
func main ()
valeur: = "1000"
Si n, err: = strConv.Atoi (valeur); err == nil
fmt.Printf ("% t \ n", n)
fmt.Println (n * 3)
Le programme entraîne la sortie comme suit:
$ go run string_to_int.aller
int
3000
Bien que nous utilisions la fonction atoi () pour convertir une chaîne en un INT, nous devons nous assurer que la valeur peut être convertie en un INT.
Si nous essayons de convertir une chaîne comme un nom en un INT, la fonction augmentera une erreur.
Prenez, par exemple, le programme ci-dessous:
package principal
importer (
"FMT"
"enregistrer"
"strConv"
)
func main ()
valeur: = "Linuxhint"
n, err: = strConv.Atoi (valeur)
enregistrer.Fatal (euh)
fmt.Println (n)
Dans le code ci-dessus, nous essayons de convertir la chaîne «LinuxHint» en une chaîne qui est un format non pris en charge.
Le code ci-dessus doit augmenter une erreur comme:
$ go run string_to_int.aller
2022/05/31 02:15:22 StrConv.Atoi: analyse "Linuxhint": syntaxe non valide
Statut de sortie 1
Golang Parse String à int # 2
Dans le package STRCONV, nous avons accès à la fonction ParseInt qui nous permet d'analyser une chaîne à une base donnée (0, 2 à 36).
https: // pkg.aller.dev / strConv # parseint
Prenons un exemple comme indiqué ci-dessous:
package principal
importer (
"FMT"
"strConv"
)
func main ()
valeur: = "1000"
Si n, err: = strConv.ParseInt (valeur, 10, 64); err == nil
fmt.Printf ("% t:% v \ n", n, n)
Faites attention à la fonction parseInt (). Nous passons trois arguments principaux dedans: le premier est la valeur que nous souhaitons analyser à un INT et la seconde représente la base. La base est une valeur allant de 0, ou 2 à 36.
L'argument final est la taille du bit qui spécifie le type entier de la valeur résultante. Les valeurs acceptées comprennent 0, 8, 16, 32 et 64, conformes à INT, INT8, INT16, INT32 et INT64.
Dernières pensées
Vous avez appris à convertir une chaîne en un type int dans passer par ce tutoriel.