GO结构定义中的字符串字面量

huangapple go评论79阅读模式
英文:

String literals in GO structure definition

问题

在这个结构定义中:

type API struct {
    Message string "json:message"
}

字符串***"json:message"***的含义是什么,如果它是可访问的,如何访问它。
谢谢您的提前帮助。

英文:

In this structure definition:

type API struct {
	Message string "json:message"
}

what is the meaning of the string "json:message" and how to access it if it is accessible.
Thank you in advance.

答案1

得分: 5

这些是结构标签。这个结构标签被encoding/json包用于将对象编组为JSON字符串,并将JSON字符串解组为对象。

在将结构编组为JSON字符串时,它会查找这个结构标签来分配JSON键名,如果不存在,它可能会使用结构字段名本身。

顺便说一下,语法是错误的,应该是:

type API struct {
    Message string `json:"message"`
}

这里有一个参考示例程序:https://play.golang.org/p/FsMGNuDB8P

英文:

These are struct tags. This struct tag is used by package
encoding/json to Marshal objects to JSON and Unmarshal JSON string to objects

while marshaling (encoding ) a struct to JSON string it will look for this struct tag to assign JSON key name, if not present it may use the struct field name itself

btw the syntax is wrong it has to be

type API struct {
    Message string `json:"message"`
}

Here is a sample program for reference https://play.golang.org/p/FsMGNuDB8P

huangapple
  • 本文由 发表于 2016年12月25日 15:46:22
  • 转载请务必保留本文链接:https://go.coder-hub.com/41319501.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定