当前位置: 首页 > news >正文

new 和make 切片和map

func NewCase() {// 通过new , 可以创建任意类型,并返回指针mpPtr := new(map[string]*user)if *mpPtr == nil { // 通过 * 获取指针内容fmt.Println("map 为空")}// sliceslicePtr := new([]user)if *slicePtr == nil {fmt.Println("slice 为空")}*slicePtr = append(*slicePtr, user{Name: "nick", Age: 18})userPtr := new(user)strPtr := new(string)userPtr = &user{Name: "tom",}fmt.Println(mpPtr, slicePtr, userPtr, strPtr) // 返回地址空间
}
map 为空
slice 为空
&map[] &[{nick 18 { }}] &{tom 0 { }} 0xc0000220a0
// MakeCase make 仅用于切片\集合\通道的初始化
func MakeCase() {// 初始化切片.并设置长度和容量slice := make([]int, 10, 20)slice[0] = 10//  初始化集合,并设置集合的初始大小mp := make(map[string]string, 10)mp["A"] = "a"// 初始化通道,设置通道的读写方向和缓冲大小ch := make(chan int, 10)ch1 := make(chan<- int, 10)ch2 := make(<-chan int)fmt.Println(slice, mp, ch, ch1, ch2)
}
func SliceAndMapCase() {// 定义切片var slice []intslice = []int{1, 2, 3, 4, 5}slice1 := make([]int, 10)slice1[1] = 10fmt.Println("----slice1-----")fmt.Println(slice, slice1)// 切片的截取slice2 := make([]int, 5, 10)fmt.Println("----slice2-----")fmt.Println(len(slice2), cap(slice2), slice2) // 长度和容积slice2[0] = 0slice2[1] = 1slice2[2] = 2slice2[3] = 3slice2[4] = 4// 切片的截取slice3 := slice2[1:10]fmt.Println("----slice3-----")fmt.Println(len(slice3), cap(slice3), slice3) // 长度和容积// 切片的附加数据fmt.Println("----切片的附加数据-----")slice3 = append(slice3, 1, 2, 3, 4, 5, 6, 7)fmt.Println(len(slice3), cap(slice3), slice3) // 长度和容积// 集合、无序fmt.Println("----map 集合、无序 -----")mp := make(map[string]string, 10)mp["A"] = "a"mp["B"] = "b"mp["C"] = "c"mp["D"] = "d"fmt.Println(mp)for k, v := range mp {fmt.Println(k, v)}// 删除集合delete(mp, "B")fmt.Println(mp)
}
http://www.wxhsa.cn/company.asp?id=6778

相关文章:

  • 三台ubuntu22相互免密登录最快
  • 状态机
  • 设计模式
  • Rhinoceros 8.23.25251.13001 犀牛3D建模
  • Git 常用操作指南
  • 《深入理解计算机系统》计算机系统漫游(一) - Invinc
  • 从几何分离到语义理解:深度解析3D点云分割与语义分割的本质区别
  • 欧拉筛(线性筛)算法分析
  • 2021年安徽省大数据与人工智能应用竞赛 大数据(网络赛)-高职组赛题
  • 一些写了和没写的数学!
  • 【光照】[自发光Emission]以UnityURP为例
  • mybatis-plus初体验,解决报错Invalid value type for attribute factoryBeanObjectType: java.lang.String
  • 04_UDP协议
  • 从0到1搭建数据分析自动化程序链,AI应用架构师的实战指南
  • IOS App技术支持网址(URL)
  • Alexandresku设计的loki小对象内存分配器
  • C++ 内存管理
  • 浅谈制氢电源及英飞凌解决方案
  • 微算法科技(NASDAQ:MLGO)研究分布式量子计算,释放量子计算潜能
  • AI 重塑招聘三角:Moka 招聘智能体如何实现 HR、候选人与企业的三方共赢
  • Flash Attention原理
  • MSMQ 跨服务器读写队列的“消息队列系统的访问被拒绝”的解决方案
  • opencv学习记录1
  • kylin V10SP3安装mysql5.7.42
  • MATLAB 仿真无线传感器网络(WSN)三大经典场景
  • 9.05 DP 专题
  • Linux时间同步---NTP时间同步方案
  • java预习
  • B/S体系结构风格
  • The 2024 CCPC Online Contest 7/12 L/B/K/D/J/E/C