golang结构定义中的反向用法是什么?

type NetworkInterface struct { Gateway string `json:"gateway"` IPAddress string `json:"ip"` IPPrefixLen int `json:"ip_prefix_len"` MacAddress string `json:"mac"` ... } 

我很困惑什么是反向内容的function,如json:"gateway"

这只是评论,就像//this is the gateway

您可以以标签的forms为Go结构添加额外的元信息。 以下是一些用例的例子 。

在这种情况下, json包使用json:"gateway"json:"gateway"的值编码到相应json对象的关键gateway中。

例:

 n := NetworkInterface{ Gateway : "foo" } json.Marshal(n) // will output `{"gateway":"foo",...}` 

他们是标签 :

字段声明后面可以跟一个可选的string字面标记,它成为相应字段声明中所有字段的属性。 通过reflection界面使标签变得可见,并参与结构的types标识,但被忽略。

 // A struct corresponding to the TimeStamp protocol buffer. // The tag strings define the protocol buffer field numbers. struct { microsec uint64 "field 1" serverIP6 uint64 "field 2" process string "field 3" } 

看到这个问题,并回答更详细的解释和答案。

反引号用于创build可包含任何types的字符的原始string文字:

原始string文字是后引号“`之间的字符序列。 在引号内,除了向后引号外,任何字符都是合法的。