Avatar ·

Comment convertir une chaîne en nombre (int) en Go ? Gestion des erreurs et exemples

Bonjour à tous ! Je viens de commencer à apprendre Go et j'ai rencontré un problème pour convertir une chaîne en entier. J'écris une simple calculatrice qui prend deux nombres depuis la ligne de commande sous forme de chaînes et doit les additionner. Mais je n'arrive pas à comprendre comment convertir correctement une chaîne en int. Voici mon code : ```go package main import ( "fmt" "os" ) func main() { if len(os.Args) != 3 { fmt.Println("Usage: calculator ") return } a := os.Args[1] b := os.Args[2] // J'essaie d'additionner, mais j'obtiens une erreur sum := a + b // C'est une concaténation de chaînes, pas une addition ! fmt.Println("Sum:", sum) } ``` Je comprends que `a + b` concatène simplement les chaînes, au lieu d'additionner les nombres. Dans d'autres langages, j'utilisais `int()` ou `parseInt()`, mais en Go cela ne fonctionne pas directement. J'ai essayé `int(a)`, mais le compilateur se plaint : `cannot convert a (variable of type string) to type int`. J'ai cherché sur Google — j'ai trouvé une mention du package `strconv`, mais je n'ai pas complètement compris comment l'utiliser.