Avatar ·

如何在Go中输出切片(slice)的内容到屏幕?

大家好!我刚开始学习Go,遇到了一个简单但让我困惑的问题。

我尝试输出切片的内容到屏幕,但得到的是类似 [0x...] 的奇怪结果。这是我的代码:

package main

import "fmt"

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

当我运行程序时,它输出类似 [10 20 30 40 50] 的内容——这是有效的!但当我尝试输出字符串或结构体的切片时,一切都乱了。例如:

package main

import "fmt"

type User struct {
    Name string
    Age  int
}

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

这段代码输出 [{Alice 30} {Bob 25}],这也不错。但如果我有嵌套结构体或大量数据,输出就变得难以阅读。如何正确输出切片,使其清晰可读?