Introducción

En cualquier lenguaje de programación necesitaremos convertir o castear diferentes tipos de datos. Hoy veremos cómo convertir números a cadena y viceversa, así como otras conversiones útiles usando strconv.

Convertir cadena a entero

Para ello utilizamos strconv.Atoi, que quiere decir algo como “ASCII to integer”. Si algo malo pasa durante la conversión, devolverá un error en la segunda variable. Un ejemplo vale más que mil palabras:

package main

import (
"strconv"
"fmt"
)

func main(){
	numeroCadena := "10"
	numeroEntero, error := strconv.Atoi(numeroCadena)
	if error != nil {
		fmt.Println("Error al convertir: ", error)
	}
	fmt.Println(numeroEntero + 5) // Imprime 15
}

En este caso convertimos la cadena “10”. Si algo saliera mal durante la conversión, lo imprimimos. Pero en caso de que todo salga bien, imprimirá 15, ya que estamos sumando su representación entera + 5.

Convertir entero a cadena

Ahora veamos cómo convertir un número entero a una cadena o string. Para ello usamos “Itoa” que quiere decir algo como “Integer to ASCII”. Se utiliza así:

package main

import (
"strconv"
"fmt"
)

func main(){
	numero := 20
	numeroCadena := strconv.Itoa(numero)
	fmt.Println("Tengo " + numeroCadena + " dedos") // Imprime 'Tengo 20 dedos'
}

En este caso, Itoa no devuelve ningún error. Supongo que es porque existe una representación de cadena para cualquier otro tipo de valor.

Convertir a binario

También podemos convertir una cadena a su representación binaria, como lo explico en este post.

Otras conversiones

Podemos convertir cadenas a booleanos con FormatBool y a flotantes con FormatFloat. Aquí dejo un link a la página oficial.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto