Avatar ·

¿Cómo mostrar el contenido de un slice en Go en pantalla?

¡Hola a todos! Acabo de empezar a aprender Go y me encontré con un problema simple pero que no entiendo.

Estoy intentando mostrar el contenido de un slice en pantalla, pero en lugar de valores obtengo algo extraño como [0x...]. Aquí está mi código:

package main

import "fmt"

func main() {
    arr := []int{10, 20, 30, 40, 50}
    fmt.Println(arr)
}

Cuando ejecuto el programa, muestra algo como [10 20 30 40 50] — ¡esto funciona! Pero cuando intento mostrar un slice de strings o structs, todo se rompe. Aquí hay un ejemplo:

package main

import "fmt"

type User struct {
    Name string
    Age  int
}

func main() {
    users := []User{
        {"Alice", 30},
        {"Bob", 25},
    }
    fmt.Println(users)
}

Este código muestra [{Alice 30} {Bob 25}], lo cual tampoco está mal. Pero si tengo structs anidados o datos grandes, la salida se vuelve ilegible. ¿Cómo mostrar correctamente un slice para que sea