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

  err := decoder.Decode(&t)

  if err != nil {

      panic("PANIC")

  }

  log.Println(t)

}

这个返回 {1.23, 4.56, 789} (正确)


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)

}

唯一的区别是我在结构定义中使用大写字母。我错过了什么吗?这是一个错误吗?


慕田峪7331174
浏览 254回答 1
1回答

杨魅力

该JSON编码包可与出口领域而已。否则解码器不区分大小写。您可以在使用包文档中描述的字段标记进行编码时控制大小写。Go 语言区分大小写。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go