2022-08-11:以下go语言代码输出什么?A:panic;B:编译错误;C:json marshal 报错;D:null;E:nil。

package main

import (
    "encoding/json"
    "fmt"
)

func main() {
    var p *int
    b, err := json.Marshal(p)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(string(b))
}

答案选D。在 encoding/json 文档有如下说明: bool, for JSON booleans float64, for JSON numbers string, for JSON strings []interface{}, for JSON arrays map[string]interface{}, for JSON objects nil for JSON null

在这里插入图片描述