¿Como acceder los campos dentro de map[string]interface 🐹?

31 de Marzo del 2022 ¿Ves algún error? Corregir artículo
La clave para ser un buen programador es mantenerse en constante aprendizaje. 👉🏽

Comenzando con el problema común de crear funciones más genéricas, me ocupé de un problema parecido una vez y es el acceso a subcampos dentro de una interfaz de map[string]interface, la solución es mucho más simple de lo que piensas comenzando por identificar qué campo necesitamos dentro de nuestra estructura después de eso, todo es más simple, necesitará una conversión simple del campo que tiene un subcampo a una interfaz map[string]interface y luego acceda al campo que necesita, finalmente necesita convertir el valor a su tipo de deseo, para este ejemplo no uso una validación de existencia de los campos, pero es muy recomendable.

main.go
package main import "fmt" func main() { subMap := map[string]interface{}{ "sqlid": 1, } Map := map[string]interface{}{ "metadata": subMap, } sqlid := Map["metadata"].(map[string]interface{})["sqlid"].(int) fmt.Println(sqlid) }

Espero que con este breve artículo pueda resolver fácilmente este problema en el futuro, feliz codificando y guarde este artículo para no perder nunca la solución.

Conviértete en un Go Ninja 🥷.Suscríbete a mi newsletter y recibe las últimas novedades en Go.