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.
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.
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.
También podemos convertir una cadena a su representación binaria, como lo explico en este post.
Podemos convertir cadenas a booleanos con FormatBool y a flotantes con FormatFloat. Aquí dejo un link a la página oficial.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.