700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > go语言基础数据结构学习---- 数组 列表(list)和切片(slice)

go语言基础数据结构学习---- 数组 列表(list)和切片(slice)

时间:2019-06-26 08:59:20

相关推荐

go语言基础数据结构学习---- 数组  列表(list)和切片(slice)

go语言基础数据结构学习–> 数组, 列表(list)和切片(slice)

go 语言中的 数组是类型相同的元素的集合, 列表是双链表的容器, 可以添加不同类型的数据切片是对现有数组的引用, 比数组更方便灵活, 还可以追加数据

package mainimport ("container/list""fmt")func main() {// 切片 slice 比较常用, 很灵活list1 := [6]int{1,2,3,4} //6是总数, 后面是值, 如果不够会自动补0list6 := []string{"a", "b"}var list2 [3]int// 声明列表, 下面两种为初始化, 生成内存地址, 双链表 ----容器var list3 = list.List{}list4 := list.New()//多维数组list5 := [3][2]string{{"飞", "小"},{"祥", "泰"},{"德", "丙"},}//列表插入方法a1 := list3.PushFront(2) //从左插入a2 :=list3.PushBack(1) //从右插入list3.InsertAfter("after", a2) //在 a2之后list3.InsertBefore("before", a1) //在 a1之前//列表删除list3.Remove(a2)//列表(容器)遍历for x := list3.Front(); x != nil; x = x.Next() {if x.Value == "after" {fmt.Println(x.Value)}fmt.Print(x.Value, " , ")}//切片遍历for _,x := range list1{if x == 1{fmt.Println(x)}}//切片追加list6 = append(list6, "c")//也可以和python一样根据索引覆盖值list1[5] = 9list2[2] = 9fmt.Println(list1)fmt.Println(list2)printlist(list3)fmt.Println(list4)fmt.Println(list5)fmt.Println(list6)}func printlist(lists list.List) {for x := lists.Front(); x != nil; x = x.Next() {fmt.Println(x.Value)}}

参考学习文档:

/liuzhongchao/p/9159896.html

/view/35.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。