Golang 程序在结构类型定义中使用字段标签
原文:https://www . geesforgeks . org/golang-程序使用字段-结构类型定义中的标签/
Golang 中的结构用于在一个地方存储不同类型的数据。“struct”本身是用户定义的数据类型。Golang 中“struct”的语法如下:
语法:
type var_name struct
{
var1 data_type
var2 data_type
}
Golang 中的结构被写到像 JSON 这样的文件中。它是一种数据存储格式。Golang 在标准库中提供包,用于向/从 JSON 文件中写入和检索结构。在结构的定义中,字段标签被添加到字段声明中,作为 JSON 文件中的字段名。
语法:
type Book struct
{
Name string `json:"name"`
Author string `json: "author"`
Price int `json: "price"`
}
下面的程序说明了在 Golang 的结构类型定义中字段标签的使用:
程序 1:
// Golang program to show how to use
// field tags in the definition of Struct
package main
import
(
"encoding/json"
"fmt"
)
type Book struct
{
Name string `json:"name"`
Author string `json: "author"`
Price int `json: "price"`
}
func main() {
var b Book
b.Name = "DBMS"
b.Author = "Navathe"
b.Price = 850
fmt.Println(b)
// returns []byte which is b in JSON form.
jsonStr, err := json.Marshal(b)
if err != nil {
fmt.Println(err.Error())
}
fmt.Println(string(jsonStr))
}
输出:
{DBMS Navathe 850}
{"name":"DBMS", "author":"Navathe", "price":850}
程序 2:
// Golang program to show how to use
// field tags in the definition of Struct
package main
import
(
"encoding/json"
"fmt"
)
type Fruit struct
{
Name string `json:"name"`
Quantity string `json: "quantity"`
Price int `json: "price"`
}
func main() {
var f Fruit
f.Name = "Apple"
f.Quantity = "2KG"
f.Price = 100
fmt.Println(f)
// returns []byte which is f in JSON form.
jsonStr, err := json.Marshal(f)
if err != nil {
fmt.Println(err.Error())
}
fmt.Println(string(jsonStr))
}
输出:
{Apple 2KG 100}
{"name":"Apple", "quantity":"2KG", "price":100}
版权属于:月萌API www.moonapi.com,转载请注明出处