• 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()
    }
  • 相关阅读:
    HttpMessageNotWritableException: Could not write JSON: No serializer found for class ****
    处理【Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operatio】
    java 日历类Calendar用法
    linux配置nginx
    linux 重命名文件和文件夹
    CentOS 6.7 配置 yum 安装 Nginx
    maven打包时跳过单元测试
    Eclipse 保存文件时自动格式化代码
    mybatis大于号,小于号,去地址符,单引号,双引号转义说明
    玩转Eclipse — 自动代码生成的Java Code Template
  • 原文地址:https://www.cnblogs.com/yangxinpython/p/12025028.html
Copyright © 2020-2023  润新知