go语言结构体,函数与方法

发布时间 2024-01-07 16:13:51作者: 远洪

一、定义结构体

go语言自定义数据类型使用 type ,定义结构体使用 type + stuct 关键字

package main

import (
    "fmt"
)

 type Cat struct {
    Name string
    Age int8
    Color string
 }

 func main(){
    var cat1 Cat
    cat1.Name = "花花"
    cat1.Age = 1
    cat1.Color = "yellow"

    fmt.Println(cat1)
 }

执行结果:

 二、结构体转json

使用 encoding/json 内置库

package main

import (
    "fmt"
    "encoding/json"
)

 type Cat struct {
    Name string
    Age int8
    Color string
 }

 func main(){
    var cat1 Cat
    cat1.Name = "花花"
    cat1.Age = 1
    cat1.Color = "yellow"

    data, _ := json.Marshal(cat1)
    fmt.Println(string(data))
 }

执行结果:

 json字符串中的 key 首字母大写改为小写或其他带有下滑线的名字(给结构体的字段名,打标签

package main

import (
    "fmt"
    "encoding/json"
)

 type Cat struct {
    Name string `json:"name"`
    Age int8 `json:"age"`
    Color string `json:"color"`
 }

 func main(){
    var cat1 Cat
    cat1.Name = "花花"
    cat1.Age = 1
    cat1.Color = "yellow"

    data, _ := json.Marshal(cat1)
    fmt.Println(string(data))
 }

执行结果:

 三、函数与方法