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

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *