zoukankan      html  css  js  c++  java
  • go 数组切片

    package main
    
    import "fmt"
    
    //切片
    //切片下来的b从新赋值,那么a随之改变
    
    func xxx()  {
    
        //定义切片以直接由数组切出来
        //var a [8]int = [8]int{1,2,3,4,5,67}
        //var  b[]int  = a[2:5]
        //定义切片2,c该c是是一个nil,就是空只有
        //var c []int
        //b[2]=200
        //fmt.Println(b)
        //fmt.Println(a)
        //fmt.Println(c)
    
        //定义并初始化,第一个数字是切片的长度,第二个是数字底层数组长度,也就是切片的容量,数组容量的从切片的起始位置算起
        //var b []int=make([]int,3,4)
        //fmt.Println(b)
        ////查看切片的长度
        //fmt.Println(len(b))
        ////查看数组的长度
        //fmt.Println(cap(b))
    
        //切片的数据结构表示,了解
        //type slice struct {
        //    Length        int//切片的长度
        //    Capacity      int//切片的容量
        //    ZerothElement *byte//数组的地址
        //}
    
    
        //切片函数传递,传参必须接受固定的格式
        //var a  = make([]int,3,4)//切片长度为3,数组容量为4
        //text(a)
    
    
        //copy,将b的值copy到a中,切b有值的索引不得大于a,若b的索引是5有值那么a直接会报错,因为长度不够
        //var a = make([]int,4,4)
        //var b =make([]int,3,10000)
        //b[1]=99
        //b[2]=888
        //copy(a,b)
        //fmt.Println(a)
    
    
        //切片追加值
        //内置函数append
        //var a [8]int=[8]int{1,2,3,4,5,6,7,8}
        //var b []int=a[2:3]
        //fmt.Println(cap(b))
        //b = append(b,1,2,3,4,5,111,111,11)
        //fmt.Println(b)
        //fmt.Println(len(b))
        //fmt.Println(cap(b))
        //fmt.Println(a)
        //在append增加中的你的切出赖的b长度不够大,但是你增加的值却多那么就会将你a的后边的值改变,
        //若你增加的长度超过a那么就不会改变你的a的值,且你的长度会在原来a的基础上增加一倍
    
    
    
        //多维切片
        //生成一个数组套三个数组
        //var a[][]string = make([][]string,3,5)
        //fmt.Println(a)
        //a[0] = make([]string,2,3)
        //fmt.Println(a)
    
        //多维切片初始化
        //生成一个数组,套两个列表,值为大括号中的,数组中的个数随着初始化的值增加
        var a[][]string = [][]string{{"1","2"},{"3","4"}}
        fmt.Println(a)
    
    }
    func text(c []int)  {
        fmt.Println(c)
    }
    
    
    
    
    
    func main() {
        xxx()
    }
  • 相关阅读:
    Xamarin和微软发起.NET基金会
    迷你 MVC
    编制进度计划、保存基准
    JQuery UI Layout Plug-in布局
    (转载)Log4Net 在多层项目中的使用小记
    Json.Net6.0
    EasyUI搭建前端框架
    using和yield return
    ExpandoObject,DynamicObject,DynamicMetaObject
    Net 4.0 之 Dynamic 动态类型
  • 原文地址:https://www.cnblogs.com/yangxinpython/p/12025028.html
Copyright © 2011-2022 走看看