golang 基础 ——map数组切片 存放不同类型的数据

Posted 猎人在吃肉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 基础 ——map数组切片 存放不同类型的数据相关的知识,希望对你有一定的参考价值。

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

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 基础 ——map数组切片 存放不同类型的数据的主要内容,如果未能解决你的问题,请参考以下文章

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

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

golang快速入门数据类型特别之处(下)

Golang数据类型 切片(slice)

Golang数组去重&切片去重

Golang basic_leaming2 语言容器