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文字是后引号“`之间的字符序列。 在引号内,除了向后引号外,任何字符都是合法的。