• Go


    概述

    结构体是将零个或多个任意类型的变量,组合在一起的聚合数据类型,也可以看做是数据的集合。
    声明结构体

     

      //demo_11.go    
        package main    
        import (    
            "fmt"    
        )    
        type Person struct {    
            Name string    
            Age int    
        }    
        func main() {    
            var p1 Person    
            p1.Name = "Tom"    
            p1.Age  = 30    
            fmt.Println("p1 =", p1)    
            var p2 = Person{Name:"Burke", Age:31}    
            fmt.Println("p2 =", p2)    
            p3 := Person{Name:"Aaron", Age:32}    
            fmt.Println("p2 =", p3)    
            //匿名结构体    
            p4 := struct {    
                Name string    
                Age int    
            } {Name:"匿名", Age:33}    
            fmt.Println("p4 =", p4)    
        }
    


    运行结果:

    生成 JSON

       

    //demo_12.go    
        package main    
        import (    
            "encoding/json"    
            "fmt"    
        )    
        type Result struct {    
            Code    int    `json:"code"`    
            Message string `json:"msg"`    
        }    
        func main() {    
            var res Result    
            res.Code    = 200    
            res.Message = "success"    
            //序列化    
            jsons, errs := json.Marshal(res)    
            if errs != nil {    
                fmt.Println("json marshal error:", errs)    
            }    
            fmt.Println("json data :", string(jsons))    
            //反序列化    
            var res2 Result    
            errs = json.Unmarshal(jsons, &res2)    
            if errs != nil {    
                fmt.Println("json unmarshal error:", errs)    
            }    
            fmt.Println("res2 :", res2)    
        }
    


    运行结果:


    改变数据

     

      //demo_13.go    
        package main    
        import (    
            "encoding/json"    
            "fmt"    
        )    
        type Result struct {    
            Code    int    `json:"code"`    
            Message string `json:"msg"`    
        }    
        func main() {    
            var res Result    
            res.Code    = 200    
            res.Message = "success"    
            toJson(&res)    
            setData(&res)    
            toJson(&res)    
        }    
        func setData (res *Result) {    
            res.Code    = 500    
            res.Message = "fail"    
        }    
        func toJson (res *Result) {    
            jsons, errs := json.Marshal(res)    
            if errs != nil {    
                fmt.Println("json marshal error:", errs)    
            }    
            fmt.Println("json data :", string(jsons))    
        }
    



    运行结果:



  • 相关阅读:
    GPG实践
    keepass数据库保存密码
    基于xammp搭建自己的网页
    《信息安全专业导论》第12周学习总结
    《信息安全专业导论》第11周学习总结
    基于python中tkinter的计算机实现
    《信息安全专业导论》第10周学习总结
    俄罗斯方块
    小学四则运算编程实践
    链表
  • 原文地址:https://www.cnblogs.com/it-3327/p/11885844.html
Copyright © 2020-2023  润新知