zoukankan      html  css  js  c++  java
  • 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))    
        }
    



    运行结果:



  • 相关阅读:
    flash背景透明、置底、禁止放大 右键菜单
    SQL 命令
    php无刷新翻页,单独的一个文件加上一个JS即可搞定
    php jquery ajax无刷新评论 无刷新翻页,字数统计 绝对可以用
    input点击隐藏显示层
    jquery延迟加载图片
    用Javascript读取CheckBox数组的值
    链表结构_C语言实现
    struts2_自定义错误提示
    struts2_自定义对象设置
  • 原文地址:https://www.cnblogs.com/it-3327/p/11885844.html
Copyright © 2011-2022 走看看