Avatar ·

¿Cómo convertir una cadena a número (int) en Go?

¡Hola a todos! Acabo de empezar a aprender Go y me encontré con el problema de convertir una cadena a un número entero. Necesito leer un número desde un argumento de línea de comandos o desde un archivo de texto, pero en Go las cadenas y los números son tipos diferentes, y no se puede simplemente asignar una cadena a una variable de tipo int. Por ejemplo, tengo este código: ```go package main import "fmt" func main() { var s string = "42" var i int = s // ¡Error! fmt.Println(i) } ``` El compilador da el error: `cannot use s (type string) as type int in assignment`. Entiendo que se necesita una conversión explícita, pero ¿cómo hacerlo correctamente? En Python escribía `int("42")`, pero en Go `int(s)` no funciona. He probado a usar el package `strconv`, pero no entendí bien cómo usarlo. Por favor, indíquenme cómo convertir una cadena a número en Go, y cómo manejar posibles errores si la cadena no es un número (por ejemplo, si el usuario ingresó "abc" o una cadena vacía). Agradeceré ejemplos de código con explicaciones.