我如何在 golang 中打印未编组的数据?

How can i print Unmarshalled data in golang?

我正在 golang 中从 Raabbitmq 读取 json 并在接口中映射 json

我的结构看起来像这样,

type Documents struct {
    user_id    string
    partner_id []string
    last_login int
}

并且我在上面的结构中映射传入的 json,但是出于 debugginf 的目的,我想查看接口数组,如何打印映射的数据数组(在我的例子中是正文)

        var body []Documents
        json.Unmarshal(d.Body, &body)

        log.Printf("Received a message: %s", body)

我需要用其他标识符代替 %s 吗?

你的结构定义有问题。您需要使用导出标识符,例如-

type Documents struct {
    UserID    string    `json:"user_id"`
    PartnerID []string  `json:"partner_id"`
    LastLogin int       `json:"last_login"`
}

关于您的问题,请参考格式printing verbs

打印 body-

的值
log.Printf("Received a message: %v", body)

打印值和变量名 -

log.Printf("Received a message: %#v", body)