Go - Struct 结构体 - 新亮笔记 - 博客园


本站和网页 https://www.cnblogs.com/xinliangcoder/p/11134787.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

Go - Struct 结构体 - 新亮笔记 - 博客园
首页
新闻
博问
专区
闪存
班级
我的博客
我的园子
账号设置
简洁模式 ...
退出登录
注册
登录
新亮笔记
日拱一卒
首页
联系
订阅
管理
Go - Struct 结构体
目录概述声明结构体生成 JSON改变数据推荐阅读
概述
结构体是将零个或多个任意类型的变量,组合在一起的聚合数据类型,也可以看做是数据的集合。
声明结构体
//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))
运行结果:
推荐阅读
Go - 循环
Go - Map 集合
Go - Struct 结构体
Go - Slice 切片
Go - 数组
Go - 变量声明
Go - 环境安装
本文欢迎转发,转发请注明作者和出处,谢谢!
作者:新亮笔记(关注公众号,可申请添加微信好友)
出处:https://www.cnblogs.com/xinliangcoder
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @
2019-07-04 20:40
新亮笔记
阅读(4837)
评论(0)
编辑
收藏
举报
刷新评论刷新页面返回顶部
Copyright 2022 新亮笔记
Powered by .NET 7.0 on Kubernetes