Como converter uma string em número (int) em Go?
Olá a todos! Acabei de começar a estudar Go e me deparei com o problema de converter uma string em um número inteiro. Preciso ler um número de um argumento de linha de comando ou de um arquivo de texto, mas em Go strings e números são tipos diferentes, e simplesmente atribuir uma string a uma variável do tipo int não funciona.
Por exemplo, tenho o seguinte código:
```go
package main
import "fmt"
func main() {
var s string = "42"
var i int = s // Erro!
fmt.Println(i)
}
```
O compilador gera o erro: `cannot use s (type string) as type int in assignment`. Eu entendo que é necessária uma conversão explícita, mas como fazer isso corretamente? Em Python eu escrevia `int("42")`, mas em Go `int(s)` não funciona.
Tentei usar o pacote `strconv`, mas não entendi completamente como usá-lo. Por favor, me digam como converter uma string em número em Go e como tratar possíveis erros se a string não for um número (por exemplo, se o usuário digitou "abc" ou uma string vazia)? Agradeço por exemplos de código com explicações.