当前位置:网站首页>golang 基础 ——map、数组、切片 存放不同类型的数据

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

2022-07-05 08:41:00 猎人在吃肉

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

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 := &User{
    ID: "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}
原网站

版权声明
本文为[猎人在吃肉]所创,转载请带上原文链接,感谢
https://xiaojin21cen.blog.csdn.net/article/details/125593505