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

粮食门户网站建设方案公司网站制作开发公司

粮食门户网站建设方案,公司网站制作开发公司,遂昌赶街网站,开发工具怎么调出来前言 在Go语言中#xff0c;切片是一个引用类型#xff0c;它提供了对数组的动态窗口。切片并不存储任何数据#xff0c;它只是描述了底层数组中的一个片段。切片的定义包括三个部分#xff1a;指向数组的指针、切片的长度和切片的容量 基本使用 声明切片#xff1a;声…前言 在Go语言中切片是一个引用类型它提供了对数组的动态窗口。切片并不存储任何数据它只是描述了底层数组中的一个片段。切片的定义包括三个部分指向数组的指针、切片的长度和切片的容量 基本使用 声明切片声明一个未初始化的切片其值为nil var s []int创建并初始化切片 可以通过make函数创建切片并指定切片的长度和容量 s : make([]int, 5) // 长度和容量都是5切片也可以通过字面量进行初始化 s : []int{1, 2, 3, 4, 5}切片现有数组可以从一个数组或另一个切片创建新的切片 arr : [5]int{1, 2, 3, 4, 5} s : arr[1:3] // 创建一个新切片包含arr[1]到arr[2]切片的长度和容量 长度切片中元素的数量使用len(s)获取。容量从切片的开始位置到底层数组结束位置的元素数量使用cap(s)获取 fmt.Println(len(s)) // 输出切片的长度 fmt.Println(cap(s)) // 输出切片的容量切片扩展和收缩可以重新切片来扩展或收缩一个切片但不能超过其容量 s s[:4] // 扩展切片的长度到4如果容量允许的话添加元素到切片使用append函数可以向切片添加新元素如果超过原切片的容量将自动分配新的底层数组 s append(s, 6) // 添加元素6到切片遍历切片可以使用for循环来遍历切片 for i, value : range s {fmt.Println(i, value) // 输出索引和对应的值 }排序 对切片排序通常使用标准库中的sort包sort包提供了针对切片的排序函数可以对不同类型的切片进行排序包括整数、浮点数、字符串切片等。此外也可以自定义排序规则 举几个例子 整数切片 import sortfunc main() {s : []int{3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5}sort.Ints(s)fmt.Println(s) // 输出: [1 1 2 3 3 4 5 5 5 6 9] }字符串切片 import sortfunc main() {s : []string{apple, pear, banana, peach}sort.Strings(s)fmt.Println(s) // 输出: [apple banana peach pear] }浮点数切片 import sortfunc main() {s : []float64{3.14, 1.59, 2.65, 3.58}sort.Float64s(s)fmt.Println(s) // 输出: [1.59 2.65 3.14 3.58] }自定义排序规则 import sorttype Person struct {Name stringAge int }func main() {people : []Person{{Bob, 31},{John, 42},{Michael, 17},{Jenny, 26},}// 按年龄排序sort.Slice(people, func(i, j int) bool {return people[i].Age people[j].Age})fmt.Println(people) // 输出: [{Michael 17} {Jenny 26} {Bob 31} {John 42}] }降序 可以使用自定义排序也可以用sort.Reverse配合sort.Sort来达成降序目的 sort.Reverse 函数接受一个 sort.Interface 类型的参数并返回一个新的 sort.Interfacesort.Sort 对这个逆序接口进行排序 例1int类型切片逆序 import (fmtsort )func main() {list : []int{3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5}// sort.Reverse 返回的是 sort.Interface 类型// sort.IntSlice(list) 转换切片为 sort.IntSlice 类型这样就可以使用 sort.Reversesort.Sort(sort.Reverse(sort.IntSlice(list)))fmt.Println(list) // 输出: [9 6 5 5 5 4 3 3 2 1 1] }例2float64类型切片逆序 import (fmtsort )func main() {list : []float64{3.14, 1.59, 2.65, 3.58}sort.Sort(sort.Reverse(sort.Float64Slice(list)))fmt.Println(list) // 输出: [3.58 3.14 2.65 1.59] }例3string类型切片逆序 import (fmtsort )func main() {list : []string{apple, pear, banana, peach}sort.Sort(sort.Reverse(sort.StringSlice(list)))fmt.Println(list) // 输出: [pear peach banana apple] }例4自定义结构体类型Person切片逆序 import (fmtsort )type Person struct {Name stringAge int }// ByAge 实现 sort.Interface 来按年龄排序 type ByAge []Personfunc (a ByAge) Len() int { return len(a) } func (a ByAge) Swap(i, j int) { a[i], a[j] a[j], a[i] } func (a ByAge) Less(i, j int) bool { return a[i].Age a[j].Age } // 降序func main() {people : []Person{{Bob, 31},{John, 42},{Michael, 17},{Jenny, 26},}sort.Sort(ByAge(people))fmt.Println(people) // 输出: [{John 42} {Bob 31} {Jenny 26} {Michael 17}] }熟悉后其他用法可自行探索
http://www.pierceye.com/news/212004/

相关文章:

  • 维护一个网站要多少钱个人网页设计的主要内容和要求
  • 西安网站优化推广方案新网站做百度百科
  • 网站外链建设到底该怎么做flash网站案例
  • 成都私人网站制作卓越网站建设的优点
  • 做网站下载别人的图算不算侵权源码之家免费
  • 宁夏住房城乡建设厅网站应用网站建设
  • 宾馆网站建设网站建设管理规范
  • 内部网站建设的步骤过程选择邯郸做网站
  • 国外免费外贸网站dw网页制作教程个人网站
  • 西安建设局网站地址室内设计效果图一套方案
  • php 建网站电子商务网站建设项目规划书
  • 常熟建设局网站代理办营业执照的公司
  • 济南网站关键词优化公司如何制作网站赚钱
  • 长春旅游网站开发360投放广告怎么收费
  • 微信公众号做网站卖东西静态化网站的缺点
  • 网站空间购买今天的新闻头条最新消息
  • 网站制作教程图解怎么解压wordpress
  • 唐山市城市建设规划局网站腾讯云建设一个网站要多少钱
  • 邢台集团网站建设费用聚牛建设网站
  • 如何创建电子商务网站学校网站设计首页
  • 扬州建设投资集团网站世界总人口实时数据
  • 沧州制作网站食品商务网-网站建设
  • 0592 网站建设模板网站建设+百度
  • 请人做个网站多少钱免费商城app
  • 网站建设包括哪些方面?手游源码网站
  • 机关门户网站建设管理情况软件开发工具都有哪些
  • 官方网站建设专家磐石网络wordpress对应的id
  • 学生自做网站优秀作品徐州企业建站模板
  • 网络电子商务购物网站idc机房建设
  • 网站单页seo个人服务器网站备案