Como converter uma string em número (int) em Go? Tratamento de erros e exemplos
Olá a todos! Comecei a estudar Go recentemente e me deparei com o problema de converter uma string em um número inteiro. Estou escrevendo uma calculadora simples que recebe dois números da linha de comando como strings e precisa somá-los. Mas não consigo entender como converter corretamente a string para int.
Aqui está meu código:
```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]
// Tento somar, mas recebo um erro
sum := a + b // Isso é concatenação de strings, não soma!
fmt.Println("Sum:", sum)
}
```
Eu entendo que `a + b` apenas concatena strings, não soma números. Em outras linguagens, eu usava `int()` ou `parseInt()`, mas em Go isso não funciona diretamente.
Tentei `int(a)`, mas o compilador reclama: `cannot convert a (variable of type string) to type int`. Pesquisei no Google — encontrei menções ao pacote `strconv`, mas não entendi completamente como usá-lo.