Una de las cosas más importantes en lenguajes de tipado estático es realizar conversiones de tipo. Para ello Go nos ofrece distintas herramientas, en este artículo veremos específicamente conversaciones de cadenas de texto a números enteros en Go.
Para convertir de String a Int usaremos una librería nativa de los paquetes de Go strconv
.
~import "strconv" i, err := strconv.Atoi("-42") if err != nil { // Manejar el error }
Otra conversión común es la de una String a un Int64 para ellos volveremos a usar la librería que ya usamos nativa de Go.
~import "strconv" i, err := strconv.ParseInt("-42",10,64) if err != nil { // Manejar el error }
Por último convertiremos un String a un Int32 usando la misma librería.
~import "strconv" i, err := strconv.ParseInt("-42",10,32) if err != nil { // Manejar el error }
Dentro de esta librería encontramos muchos otros tipos de conversaciones de cadenas hacia distintos tipos de datos cómo convertir de String a Boolean o de String a Float. Esta librería es un navaja suiza de las conversiones de String es mejor tenerla siempre a la mano ✍️ cuando se está desarrollando.
~b, err := strconv.ParseBool("true") f, err := strconv.ParseFloat("3.1415", 64) i, err := strconv.ParseInt("-42", 10, 64) u, err := strconv.ParseUint("42", 10, 64)