• go语言切片


    go语言切片

    package main
    
    import "fmt"
    
    func main() {
        //切片定义的第一种方式,由数组切出来
        //var a [8]int=[8]int{1,2,3,4,5,6,7,8}
        ////只是对数组的引用
        //var b []int=a[2:6]
        //fmt.Println(b)
        //a[2]=30
        //fmt.Println(b)
        //b[1]=40
        //fmt.Println(b)
        //fmt.Println(a)
        ////底层数组的修改会影响切片
        ////切片的修改也会影响底层数组
        //a[1]=20
        //fmt.Println(b)
        //更多用法,没有步长
        //var a [8]int=[8]int{1,2,3,4,5,6,7,8}
        //b:=a[:4]
        //fmt.Println(b)
        //第二种方式,直接定义
        //切片空值是?nil类型
        //var a []int
        //if a==nil{
        //    fmt.Println("我是空的")
        //}
        //a[0]=10
        //fmt.Println(a)
        //定义并初始化,第一个数字是切片的长度,第二个数字是底层数组长度,也就是切片的容量
        //var a []int=make([]int,3)
        //fmt.Println(a)
        //切片的长度和容量(len     cap:容量)
        //var a [8]int=[8]int{1,2,3,4,5,6,7,8}
        //var b []int=a[2:6]
        //fmt.Println(len(b))
        //fmt.Println(cap(b))
        //var a []int=make([]int,3,4)
        //fmt.Println(a)
        //fmt.Println(len(a))
        //fmt.Println(cap(a))
    
        //切片追加值
        //var a [8]int=[8]int{1,2,3,4,5,6,7,8}
        //var b []int=a[2:6]
        //fmt.Println(len(b))
        //fmt.Println(cap(b))
        ////内置函数append
        //b=append(b,555)
        //b=append(b,666)
        //fmt.Println(b)
        //fmt.Println(len(b))
        //fmt.Println(cap(b))
        //b[0]=999
        //fmt.Println(a)
        //b=append(b,777)
        //fmt.Println(b)
        //fmt.Println(len(b))
        //fmt.Println(cap(b))
        //b[0]=999
        //fmt.Println(b)
        //fmt.Println(a)
        //var b =make([]int,3,4)
        //fmt.Println(b)
        //b=append(b,4)
        //fmt.Println(b)
        //fmt.Println(len(b))
        //fmt.Println(cap(b))
        //b=append(b,5)
        //fmt.Println(len(b))
        //fmt.Println(cap(b))
        //切片的修改
        //var b =make([]int,3,4)
        //b[0]=999
        //fmt.Println(b)
        //var b =make([]int,4,4)
        //fmt.Println(len(b))
        //fmt.Println(cap(b))
        //切片的函数传递
        //var b =make([]int,3,4)
        //test(b)
        //fmt.Println(b)
        //切片的数据结构表示
        //type slice struct {
        //    Length        int
        //    Capacity      int
        //    ZerothElement *byte
        //}
        //多维切片
        //var a [][]string=make([][]string,2,3)
        //fmt.Println(a[0])
        //a[0]=make([]string,2,3)
        //if a[0]==nil{
        //    fmt.Println("xxxx")
        //}
        //切片初始化的方法
        //var a []int=[]int{1,2,3}
        //fmt.Println(a)
        //fmt.Println(len(a))
        //fmt.Println(cap(a))
        //多维切片初始化
        //var a [][]string=[][]string{{"1","2"},{"3","4"}}
        //fmt.Println(a)
        //fmt.Println(len(a))
        //fmt.Println(cap(a))
        //a[0][1]="999"
        //fmt.Println(a)
        //a[1][0]="999"
        //var a []int=[]int{1,2}
        //fmt.Println(a)
        //a=append(a,3)
        //fmt.Println(len(a))
        //fmt.Println(cap(a))
        //a[2]=99
        //a[3]=888
        //fmt.Println(a)
        //copy函数
        var a =make([]int,3,10000)
        a[1]=99
        a[2]=888
        fmt.Println(a)
    
        //var b =make([]int,4,4)
        var b =make([]int,2,4)
        fmt.Println(b)
        copy(b,a)
        fmt.Println(b)
    
    
    
    
    }
    
    func test(b []int)  {
        b[0]=999
        fmt.Println(b)
    }
  • 相关阅读:
    springboot热启动中那些不为人知的东东
    maven生命周期(lifecycle)—— maven权威指南学习笔记(四)
    maven 一个简单项目 —— maven权威指南学习笔记(三)
    maven 安装、运行、获取帮助 —— maven权威指南学习笔记(二)
    maven 简介 —— maven权威指南学习笔记(一)
    用opencsv文件读写CSV文件
    java基础之——DecimalFormat格式化数字
    Git学习
    Spring Boot教程(二十四)Web应用的统一异常处理
    Spring Boot教程(二十三)使用Swagger2构建强大的RESTful API文档(2)
  • 原文地址:https://www.cnblogs.com/asdaa/p/12024451.html
Copyright © 2020-2023  润新知