En el tutorial de hoy vamos a ver cómo convertir de un valor de tipo interface a cualquier otro tipo en Go también conocido como Golang.
Un interface es un valor “genérico” (aunque los genéricos son otra cosa en Go y se han introducido recientemente), y como Golang es fuertemente tipado debemos hacer la conversión explícita.
Por eso es que hoy veremos cómo convertir una interface a string, int, int64, etcétera.
Hay 2 maneras de hacer esto. Una es hacerlo sin verificar la conversión, exponiéndonos a que el programa entre “en pánico”. Es decir, si la conversión falla, será como invocar a panic
.
Otra manera de hacerlo es verificando la conversión, y esa es la que te mostraré. La sintaxis es:
valorConTipoDefinido, conversiónCorrecta := valorInterface.(tipoDeDato)
Veamos el código, yo quiero convertir una interface{}
a un int64
entonces hago lo siguiente:
idUsuario := session.Values["idUsuario"] // Es una interface
idUsuarioEntero, ok := idUsuario.(int64)
if ok {
// Aquí podemos usar idUsuarioEntero con seguridad
} else {
// Error, no se pudo convertir a int64
}
Aquí idUsuario
es una interface, y la estoy convirtiendo con .(int64)
en la línea 2, pero verificando si la conversión es válida en la línea 3.
De este modo podemos convertir una interface a una cadena (string
), int64
o cualquier otro tipo de dato de manera segura y sin romper nuestro programa en Go.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.