Go: convertir interface a otro tipo de dato

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.

Convertir interface a otro tipo de dato en Golang

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:

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.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario