Go是否区分大小写?

Go是否区分大小写?,go,Go,我很困惑。当我用下面的正文发帖时 {"lng":1.23, "lat":4.56,"utc":789} 这个函数返回的{0,0,0}不正确 func test(rw http.ResponseWriter, req *http.Request) { type data struct { lng float64 lat float64 utc int } decoder := json.NewDecoder(req.Body) var t data e

我很困惑。当我用下面的正文发帖时

{"lng":1.23, "lat":4.56,"utc":789}
这个函数返回的{0,0,0}不正确

func test(rw http.ResponseWriter, req *http.Request) {
  type data struct {
    lng float64
    lat float64
    utc int
  }
  decoder := json.NewDecoder(req.Body)
  var t data
  err := decoder.Decode(&t)
  if err != nil {
      panic("PANIC")
  }
  log.Println(t)
}
这个返回{1.23,4.56789}正确

func test(rw http.ResponseWriter, req *http.Request) {
  type data struct {
    Lng float64
    Lat float64
    Utc int
  }
  decoder := json.NewDecoder(req.Body)
  var t data
  err := decoder.Decode(&t)
  if err != nil {
      panic("PANIC")
  }
  log.Println(t)
}
唯一的区别是我在结构定义中使用大写字母。 我错过什么了吗?这是一个bug吗?

这只适用于。解码器不区分大小写

使用字段标记进行编码时,可以控制大小写,如中所述

Go语言区分大小写。

仅适用于。解码器不区分大小写

使用字段标记进行编码时,可以控制大小写,如中所述

Go语言区分大小写。

请参阅相关问题:,。请参阅相关问题:。