golang中map与slice的区别

本文探讨了Golang中map与slice的主要区别。map作为一种无序的数据结构,其键可以是多种类型,而不仅仅是int。与slice不同,map无法通过索引访问,而是依赖键进行操作。map的长度可变,且使用len函数获取键的数量。同时,map的修改直接作用于底层数据,这意味着多个引用会同步变化。初始化与检查键的存在是map的重要特性。而new和make的区别在于,new返回类型T的零值指针,而make则用于初始化slice、map和channel并直接返回已初始化的值。
摘要由CSDN通过智能技术生成
package main

import "fmt"

func main() {
	var numbers map[string]int
	numbers = make(map[string]int)
	numbers["one"] = 1
	numbers["ten"] = 10
	numbers["three"] = 3
	fmt.Println(numbers["three"])
	fmt.Println(numbers["one"])
	fmt.Println(numbers["ten"])
	fmt.Println(numbers)
	numbers["three"] = 9
	fmt.Println(numbers["three"])
}

map 字典的概念,格式为map[keyType]valueType

map的读取和设置也类似slice一样,通过key来操作,这是slice的index只能是int,而map多了很多类型,可以是int,string以及所有完全定义了==于!=操作的类型

map是无序的,每次打印出来的map都会不一样,它不能通过index获取,而必须通过key获取

map的长度是不固定的,也就是和slice一样,也是一种引用类型

内置的len函数同样适用于map,返回map拥有key的数量

 map的值修改numbers["three&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值