golang 结构体struct、数组、结构体数组 定义与赋值 、json string转struct
文章目录
- 1.结构体struct
- 1.1 声明结构体
- 1.2 初始化结构体 以及 传参
- 2. 结构体数组、append
- 3. 接口返回 含数组的结构体 常用写法
- json string转struct
1.结构体struct
看这个文章,看一个struct
1.1 声明结构体
// student
type Student struct {Name stringAge uint64
}// class
type Class struct {ClassNo uint64ClassName stringStudents []Student //数组IsHonor bool
}
1.2 初始化结构体 以及 传参
// 初始化结构体的方法一:class := Class{ClassNo: 302ClassName: "三年级二班",Students: students, // students变量IsHonor: false,}key, err := t.Get(class) //普通func (s *SService) Get(class Class){ //普通}// 初始化结构体的方法二: 取地址class := &Class{ClassNo: 302ClassName: "三年级二班",Students: students, // students变量IsHonor: false,}key, err := t.Get(class) // 传的是个”地址“func (s *SService) Get(class *Class){ // 用”指针“接} // 初始化结构体的方法三:class := Class{}class.ClassNo = 302class.ClassName = "三年级二班"class.Students = studentsclass.IsHonor = false
2. 结构体数组、append
var classOne Classvar classList []Classfor ....:取到值先赋给classOne,再用classList = append(classList, classOne)
3. 接口返回 含数组的结构体 常用写法
type RespData struct {Name string `json:"name"`Age uint64 `json:"age"`
}type JiekouResponse struct { List []RespData `json:"list"`
}func (t *TController) SuggestGet(){res := &JiekouResponse{}res.List = []RespData{} // 定义数组s := service.NewTService(t.param)allData := s.GetAllData()var dataOne RespDatafor _, data := range allData { // 循环赋值dataOne.Name = data.NamedataOne.Age = data.Ageres.List = append(res.List, dataOne) // 数组append给值}
}
json string转struct
type UserInfo struct {ParentNodeId int64 `json:"parent_node_id"`NodeTypeId uint32 `json:"node_type_id"`DimeNodeValue string `json:"dime_node_value"`CnName string `json:"cn_name"`EnName string `json:en_name"`
}// 解析userInfolist:从json string到structuserinfoStr := req.Userinfolist // req.Userinfolist是个list,list里是非常多的json string [{"a":1,"b":2,"c":"3"},{},...]var userInfolist []*UserInfoif userinfoStr != "" {err := json.Unmarshal([]byte(userinfoStr), &userInfolist)fmt.Println("userInfolist:", userInfolist)fmt.Println(userInfolist[0].DimeNodeValue)if err != nil {return res, err}}
其他文章参考:golang结构体-对象和指针-函数赋予
golang 结构体struct、数组、结构体数组 定义与赋值 、json string转struct相关推荐
- java二位数组biaoda_java基础 day14 数组 二维数组 冒泡排序 例题(正则表达式)
数组: 数组静态初始化及遍历 package wwl.array; import java.util.Arrays; /** * 数组的静态初始化及数组遍历 * */ public class Tes ...
- C/C++结构体struct 与结构体数组和枚举型enum的结合使用
C/C++结构体struct 与结构体数组和枚举型enum的结合使用 #include "stdafx.h" #include <string> #include &l ...
- Golang——结构体创建与初始化、结构体与数组、结构体与切片、结构体与map、结构体作为函数参数、结构体方法、结构体方法继承
结构体: 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 结构体可以很好的管理一批有联系的数据,使用结构体可以提高程序的易读性,类似于Java的类一样 不能在结构体直接赋值 字段名必须唯一 ...
- c/c++教程 - 1.10 结构体 使用typedef定义struct结构体 结构体数组 结构体指针 结构体嵌套 结构体做函数参数 结构体const
十二.结构体 (1)结构体定义和使用 基本概念:结构体属于用户自定义的数据类型,允许用户存储不同的数据类型. 参考视频:https://www.bilibili.com/video/BV1et411b ...
- C语言学习笔记11-结构体(struct、结构作为函数参数、结构数组)、联合体/共用体typedef; union(大、小端序)
C语言-结构类型 程序中的数据都需要有类型支撑,当数据很复杂时(不是简单的一个值,如时间信息:年月日时分秒6个数据需要作为一个整体),我们需要声明一个新的结构类型来描述这种复合的数据(可以包含很多不同 ...
- golang json转结构体中嵌套多个数组_ElasticSearch第六篇:复合数据类型-数组,对象...
在ElasticSearch中,使用JSON结构来存储数据,一个Key/Value对是JSON的一个字段,而Value可以是基础数据类型,也可以是数组,文档(也叫对象),或文档数组,因此,每个JSON ...
- C语言结构体值复制与字符数组值复制的比较测试
结构体值复制与变量值复制看起来用法差不多,字符数组值复制才是比较特殊的,因为它的名字代表的是指针而不知直接指向内存 下面是各自值复制的代码 #include <stdio.h> #incl ...
- 一维数组,二维数组,三维数组,数组与指针,结构体数组,通过改变指针类型改变访问数组的方式
打印数组中的每个元素,打印每个元素的地址: #include <stdio.h> #include <stdlib.h> void main(void) { int a[ ...
- c++ 数组 结构体
接下来的一点时间我将会记录下我看的c++的一些心得体会,人贵在坚持,希望我可以一直坚持下去!!Go Fighting! 一.c++复合数据类型: 数组类型的一些注意事项: sizeof的用法: 当用在 ...
最新文章
- Windows server 2003 IP路由配置
- 1036: [ZJOI2008]树的统计Count
- 洛谷 P4127 [AHOI2009]同类分布
- 头条+腾讯 双杀面经(NLP实习)
- boost::signals2模块连接扩展槽的示例程序,使用信号的 connect_extended 和 extended_slot_type
- python image 转成字节_就是这么牛!三行Python代码,让数据处理速度提高2到6倍
- charles 安装 ssl_最全面的解决Charles手机抓包的证书问题(步骤非常详细)
- Google服务你都用了哪些?
- 剑指offer-JZ54 二叉搜索树的第k个节点(附思路)
- python arp_用Python构造ARP请求、扫描、欺骗
- mongoose的操作及其常用命令
- 华为机型深色模式下问题
- 如何使新浪播放器自动播放_七夕小子_新浪博客
- 贵港市计算机成绩查询,贵港驾驶证扣分查询
- linux系统制作usb启动盘,教你制作Linux操作系统的USB启动盘
- 京东打单发货如何识别疫情地区?
- python将图片合成视频
- WORD2003电子签名插件(支持手写、签章)
- 投资收购微盟、博易智软后,要做中国Salesforce+ Palantir的天马股份再发智能商业π型战略
- 北大软微计算机应用基础真题,北京大学软微考研参考书、考研真题及复习经验...