Golang 带标签的结构体
在Golang中,你可以使用结构体(struct)来创建带有标签的数据类型。标签是用来描述字段如何与数据库中的列对应,或者是用于JSON编码的名字。
以下是一个带有标签的Golang结构体的示例代码:
package main
import (
"encoding/json"
"fmt"
)
// 定义一个带有标签的结构体
type User struct {
ID int `json:"user_id"` // JSON标签
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
}
func main() {
// 创建一个User实例
user := User{
ID: 1,
FirstName: "John",
LastName: "Doe",
}
// 将结构体编码为JSON
userJSON, err := json.Marshal(user)
if err != nil {
fmt.Println(err)
return
}
// 打印JSON字符串
fmt.Println(string(userJSON))
}
在这个例子中,User
结构体中的每个字段都带有一个标签,这个标签指示了如何在JSON中表示这个字段。当我们调用 json.Marshal(user)
时,Golang会使用这些标签来序列化结构体到JSON格式。运行这段代码会输出类似于以下的JSON字符串:
{"user_id":1,"first_name":"John","last_name":"Doe"}
这里的 user_id
、first_name
和 last_name
就是结构体字段标签指定的JSON键。
评论已关闭