2022-09-26:以下go语言代码输出什么?A:{"Time": "2020-12-20T00:00:00Z", "N": 5 };B:"2020-12-20T00:00:00Z";C:{"N": 5};D:< nil >。
package main
import (
"encoding/json"
"fmt"
"time"
)
func main() {
t := struct {
time.Time
N int
}{
time.Date(2020, 12, 20, 0, 0, 0, 0, time.UTC),
5,
}
m, _ := json.Marshal(t)
fmt.Printf("%s", m)
}
答案选B。没看过time.Time结构,可能会选A;看过time.Time结构,可能会选C。为什么选B,目前还未找到原因,time.Time有json的Marshal相关方法,可能跟这个有关。