登录 注册
当前位置:主页 > 资源下载 > 50 > gjb 5880-2006中关于软件配置管理的slice对应数组信息

gjb 5880-2006中关于软件配置管理的slice对应数组信息

  • 更新:2024-05-13 22:05:56
  • 大小:5.91MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:Web开发 - 开发技术
  • 格式:PDF

资源介绍

图2.4 slice对应数组的信息 对于slice有几个有用的内置函数: len 获取slice的长度 cap 获取slice的最大容量 append 向slice里面追加一个或者多个元素,然后返回一个和slice一样类型的slice copy 函数copy从源slice的src中复制元素到目标dst,并且返回复制的元素的个数 注:append函数会改变slice所引用的数组的内容,从而影响到引用同一数组的其它slice。 但当slice中没有剩 余空间(即(cap-len) == 0)时,此时将动态分配新的数组空间。返回的slice数组指针将指向这个空间,而原 数组的内容将保持不变;其它引用此数组的slice则不受影响。 mapmap map也就是Python中字典的概念,它的格式为map[keyType]valueType 我们看下面的代码,map的读取和设置也类似slice一样,通过key来操作,只是slice的index只能是`int`类 型,而map多了很多类型,可以是int,可以是string及所有完全定义了==与!=操作的类型。 // 声明一个key是字符串,值为int的字典,这种方式的声明需要在使用之前使用make初始化 var numbers map[string] int // 另一种map的声明方式 numbers := make(map[string]int) numbers["one"] = 1 //赋值 numbers["ten"] = 10 //赋值 numbers["three"] = 3 fmt.Println("第三个数字是: ", numbers["three"]) // 读取数据 // 打印出来如:第三个数字是: 3 这个map就像我们平常看到的表格一样,左边列是key,右边列是值 使用map过程中需要注意的几点: - map是无序的,每次打印出来的map都会不一样,它不能通过index获取,而必 须通过key获取 - map的长度是不固定的,也就是和slice一样,也是一种引用类型 - 内置的len函数同样适用于 map,返回map拥有的key的数量 - map的值可以很方便的修改,通过numbers["one"]=11可以很容易的把key为 one的字典值改为11 map的初始化可以通过key:val的方式初始化值,同时map内置有判断是否存在key的方式 通过delete删除map的元素: // 初始化一个字典 rating := map[string]float32 {"C":5, "Go":4.5, "Python":4.5, "C++":2 } // map有两个返回值,第二个返回值,如果不存在key,那么ok为false,如果存在ok为true csharpRating, ok := rating["C#"] if ok { fmt.Println("C# is in the map and its rating is ", csharpRating) 49