golang基础——map数组切片存放不同类型的数据(代码片段)

猎人在吃肉 猎人在吃肉     2022-10-21     806

关键词:

基础知识,不解释,直接看代码

package main

import (
	"fmt"
)

type User struct 
	ID   string
	Name string
	Age  int


func main() 
	fmt.Println("------------------- map -------------------------")
	data := map[string]interface  // 注意:是2个大括号

	data["num"] = 123          // int 类型
	data["str"] = "helloworld" // 字符串类型

	user := &UserID: "1001", Name: "zhangsan", Age: 18
	data["user1"] = user // User对象类型

	for k, v := range data 
		fmt.Printf("k= %v , v的类型是 %T ,v= %v \\n", k, v, v)
	

	fmt.Println("----------------- 数组 ---------------------")

	var paramters []interface      // 定义切片,注意:有1个大括号
	paramters = append(paramters, 456)  // int 类型
	paramters = append(paramters, "李四") // 字符串类型
	paramters = append(paramters, user) // User对象类型

	for k, v := range paramters 
		fmt.Printf("k= %v , v的类型是 %T ,v= %v \\n", k, v, v)
	

运行结果:

------------------- map -------------------------
k= num , v的类型是 int ,v= 123                          
k= str , v的类型是 string ,v= helloworld                
k= user1 , v的类型是 *main.User ,v= &1001 zhangsan 18 
----------------- 数组 ---------------------            
k= 0 , v的类型是 int ,v= 456                            
k= 1 , v的类型是 string ,v= 李四                        
k= 2 , v的类型是 *main.User ,v= &1001 zhangsan 18

golang简明入门进阶指南02数组切片map类型的基础使用(代码片段)

五、集合类型5.1数组数据定义funcdefArray() //定义数组,默认赋值0 vararr1[5]int fmt.Println("initvalofarr1=",arr1) arr1=[5]int1,3,4,5 fmt.Println(arr1) //定义数组并赋予初始值 vararr2=[3]int1,3,4 arr3:=[ 查看详情

golang基础——切片和数组的区别(代码片段)

切片和数组的区别:● 切片是指针类型,数组是值类型● 数组的长度是固定的,而切片不是(切片是动态的数组)● 切片比数组多一个属性:容量(cap)● 切片的底层是数组切片是指针类型࿰... 查看详情

golang基础——切片和数组的区别(代码片段)

切片和数组的区别:● 切片是指针类型,数组是值类型● 数组的长度是固定的,而切片不是(切片是动态的数组)● 切片比数组多一个属性:容量(cap)● 切片的底层是数组切片是指针类型࿰... 查看详情

golang数据类型切片(slice)

前言Go中的数组数据类型的长度在声明的时候就已经固定了,切片是基于数组实现的可变长度的容器。  切片的定义和初始化切片类型和数组类型一样,想要使用,就必须要定义和初始化,不同之处已经提到,切片不需要... 查看详情

go语言-golang基础-数据类型数组,数组切片,映射(代码片段)

7.7数组数组是Go语言编程中最常用的数据结构之一。顾名思义,数组就是指一系列同一类型数据的集合。数组中包含的每个数据被称为数组元素(element),一个数组包含的元素个数被称为数组的长度。以下为一些常规的数组声明方... 查看详情

老奶奶可以看懂系列之---golang的map映射(代码片段)

前言这里总结的Golang笔记只适合有点编程基础的人看,比如Java往期内容:Golang学习【day1】变量、类型Golang学习,指针,循环控制相关循环结构控制、包函数的使用异常处理、数组老奶奶可以看懂的切片MapMap特点... 查看详情

golang数组去重&切片去重(代码片段)

方法一:定义一个新切片(数组),存放原数组的第一个元素,然后将新切片(数组)与原切片(数组)的元素一一对比,如果不同则存放在新切片(数组)中。packagemainimport"fmt"funcmain()vararr=[]string"hello","hi&quo... 查看详情

golang:map的定义操作排序以及map切片(代码片段)

map概述golang中的引用类型。与其他语言中的map类型基本相似,都是k-v形式的,k不可重复,元素是无序的,并且支持扩容。基本语法var变量名map[keytype]valuetypekey可以是很多类型bool、数字、string、指针、channel,... 查看详情

golang:map的定义操作排序以及map切片(代码片段)

map概述golang中的引用类型。与其他语言中的map类型基本相似,都是k-v形式的,k不可重复,元素是无序的,并且支持扩容。基本语法var变量名map[keytype]valuetypekey可以是很多类型bool、数字、string、指针、channel,... 查看详情

golang基础:gomodule,forrange,切片,map,struct等使用和实现(代码片段)

文章目录Go程序结构项目结构可执行程序库项目GoModule构建模式GoModule的常规操作1.添加依赖2.升级/降级依赖3.添加一个主版本号大于1的依赖4.删除依赖5.vendor相关入口函数与包初始化:搞清Go程序的执行次序init函数的用途使用... 查看详情

golang之数组,切片

1.数组:同一种数据类型的固定长度的序列。2.数组定义:vara[len]int,例如:vara[5]int3.长度是数组类型的一部分,因此,vara[5]int和vara[10]int是不同的类型4.数组可以通过下标进行访问,下标是从0开始,最后一个元素是len-1for i:=... 查看详情

go---基础使用(代码片段)

目录Go语言基础1.helloword1.1执行方法:2.变量2.1声明变量的三种方式2.1.1.全定义2.1.2类型推导(自动推导出变量类型)2.1.3简略声明附加1:只定义变量,不赋值附加2:声明多个变量附加3:变量不能重复定义变量:总结3.变量类型3.1... 查看详情

golang:基础知识(代码片段)

值类型和引用类型值类型:基本数据类型(int、uint、float、bool、string)、数组以及结构体struct变量直接存储值,内存通常在栈中分配(也有例外的情况,姑且先这么理解)引用类型:指针pointer、切... 查看详情

go语言基础之切片(代码片段)

1切片介绍  Golang提供数组这种存储相同类型数据的数据结构,由于在现实生活中一件事物的个数不是固定,比如说一个班级的学生人数等,然而数组的长度是固定,因此在Golang中很少直接使用数组。和数组相对应的类型是切... 查看详情

go语言入门四(复合类型数组切片指针)(代码片段)

我们学过了基础数据类型现在学习下复合类型复合类型:把基础类型封装起来了。指针指针可是c语言中的重头戏,指针数组数组指针函数指针指针函数回调函数回调函数的数组一级指针二级指针三四五。。。。c语言指针有可以... 查看详情

golang基础:gomodule,forrange,切片,map,struct等使用和实现(代码片段)

文章目录Go程序结构项目结构可执行程序库项目GoModule构建模式GoModule的常规操作1.添加依赖2.升级/降级依赖3.添加一个主版本号大于1的依赖4.删除依赖5.vendor相关入口函数与包初始化:搞清Go程序的执行次序init函数的用途使用... 查看详情

golang复合类型(代码片段)

前言上文Golang基本类型中我们介绍了golang基本类型的常见用法,本文将介绍golang中的复合数据类型,常用的复合数据类型有array数组,slice切片,map字典和struct四种。文章目录前言数组Sliceslice基本操作初始化在slice... 查看详情

golang中的数组切片

概念:基于数组,数组切片添加了一系列管理功能,可以随时动态扩充存放空间,并且不会导致所管理的元素被重复复制。创建数组切片:方法一,基于数组:package mainimport "fmt"func main() { //define an array var&... 查看详情