Avatar ·

Comment convertir une chaîne en nombre (int) en Go ?

Bonjour à tous ! Je viens de commencer à apprendre Go et j'ai rencontré un problème pour convertir une chaîne en entier. Je dois lire un nombre depuis un argument de ligne de commande ou depuis un fichier texte, mais en Go les chaînes et les nombres sont des types différents, et on ne peut pas simplement assigner une chaîne à une variable de type int. Par exemple, j'ai ce code : ```go package main import "fmt" func main() { var s string = "42" var i int = s // Erreur ! fmt.Println(i) } ``` Le compilateur donne l'erreur : `cannot use s (type string) as type int in assignment`. Je comprends qu'il faut une conversion explicite, mais comment la faire correctement ? En Python j'écrivais `int("42")`, mais en Go `int(s)` ne fonctionne pas. J'ai essayé d'utiliser le package `strconv`, mais je n'ai pas bien compris comment l'utiliser. Pouvez-vous m'indiquer comment convertir une chaîne en nombre en Go, et comment gérer les erreurs possibles si la chaîne n'est pas un nombre (par exemple, si l'utilisateur a saisi "abc" ou une chaîne vide) ? Je serais reconnaissant pour des exemples de code avec des explications.