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

Gau*_*arg 2 json go glide-golang

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

我的结构看起来像这样,并且

type Documents struct {
    user_id    string
    partner_id []string
    last_login int
}
Run Code Online (Sandbox Code Playgroud)

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

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

        log.Printf("Received a message: %s", body)
Run Code Online (Sandbox Code Playgroud)

我需要输入其他标识符来代替 %s 吗?

jee*_*tkm 5

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

type Documents struct {
    UserID    string    `json:"user_id"`
    PartnerID []string  `json:"partner_id"`
    LastLogin int       `json:"last_login"`
}
Run Code Online (Sandbox Code Playgroud)

对于您的问题,请参阅格式打印动词

打印 body 的值-

log.Printf("Received a message: %v", body)
Run Code Online (Sandbox Code Playgroud)

打印值和变量名称 -

log.Printf("Received a message: %#v", body)
Run Code Online (Sandbox Code Playgroud)