golang 结构体struct、数组、结构体数组 定义与赋值 、json string转struct

2024-09-04 07:08

本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1135335

相关文章

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Golang HashMap实现原理解析

《GolangHashMap实现原理解析》HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持高效的插入、查找和删除操作,:本文主要介绍GolangH... 目录HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

Java数组初始化的五种方式

《Java数组初始化的五种方式》数组是Java中最基础且常用的数据结构之一,其初始化方式多样且各具特点,本文详细讲解Java数组初始化的五种方式,分析其适用场景、优劣势对比及注意事项,帮助避免常见陷阱... 目录1. 静态初始化:简洁但固定代码示例核心特点适用场景注意事项2. 动态初始化:灵活但需手动管理代

Java字符串处理全解析(String、StringBuilder与StringBuffer)

《Java字符串处理全解析(String、StringBuilder与StringBuffer)》:本文主要介绍Java字符串处理全解析(String、StringBuilder与StringBu... 目录Java字符串处理全解析:String、StringBuilder与StringBuffer一、St

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2