Avatar ·

Como exibir o conteúdo de um slice em Go na tela?

Olá a todos! Acabei de começar a estudar Go e me deparei com um problema simples, mas que não entendo.

Estou tentando exibir o conteúdo de um slice na tela, mas em vez dos valores, recebo algo estranho como [0x...]. Aqui está meu código:

package main

import "fmt"

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

Quando executo o programa, ele exibe algo como [10 20 30 40 50] — isso funciona! Mas quando tento exibir um slice de strings ou structs, tudo quebra. Aqui está um exemplo:

package main

import "fmt"

type User struct {
    Name string
    Age  int
}

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

Esse código exibe [{Alice 30} {Bob 25}], o que também não é ruim. Mas se eu tiver structs aninhadas ou dados grandes, a saída se torna ilegível. Como exibir corretamente um slice para que fique