定义切片
make([]int, 5)  长度和容量均为5
make([]int, 0, 5) 长度为0 容量为0
切片
slice2[3:5] 对slice2进行切片返回 第3 4 两个元素 不包含index=5这个元素
----------------------------------------------------------------------
package main
import "fmt"
func main() {
    var z []int
    if z == nil {
        fmt.Println("is nil")
    } else {
        fmt.Println("not nil", z)
    }
    //按容量创建切片 并初始化数据为0
    slice1 := make([]int, 5)
    printSlice("slice1", slice1)
    //最大容量为5初始化长度为0
    slice2 := make([]int, 0, 5)
    printSlice("slice2", slice2)
    //容量为slice2 =5 长度为3
    slice3 := slice2[:3]
    printSlice("slice3", slice3)
    //append 追加数据后 超出容量5 增长至5*2=10 ,append后长度为6
    slice3 = append(slice3, 1)
    slice3 = append(slice3, 3)
    slice3 = append(slice3, 9)
    slice3 = append(slice3, 1)
    slice3 = append(slice3, 3,9,10)
    printSlice("slice3", slice3)
    slice4 := slice2[3:5]
    printSlice("slice4", slice4)
    //返回index=3-8 1 3 9 1 3 9
    slice5 := slice3[3:9]
    //slice3 进行切片,因容量是10 切片到index=9 返回3-9的元素 所以正确 slice3[3:11]会报错因为容量为10
    slice6 := slice3[3:10]
    printSlice("slice5", slice5)
    printSlice("slice5", slice6)
}
func printSlice(a string, x []int) {
    fmt.Println()
    fmt.Printf("%s ,len = %d,cap = %d,val = %v", a, len(x), cap(x), x)
}
----------------------------------------------------------------------
切片做为参数传递

 

go语言开发交流qq群 857263711

保持进步
希望每个人都能找到自己喜欢的方式生活、工作。

 

go 构造切片slice的更多相关文章

  1. go语言之---数组(array)和切片(slice)

    一.数组 1.什么是数组? 1.数组是一系列同一类型数据的集合 2.数组中包含的每个数据被称为数组元素 3.一个数组中包含的元素个数成为数组长度 4.数组的长度是固定的 5.一个数组可以由零个或者多个 ...

  2. go 数组(array)、切片(slice)、map、结构体(struct)

    一 数组(array) go语言中的数组是固定长度的.使用前必须指定数组长度. go语言中数组是值类型.如果将数组赋值给另一个数组或者方法中参数使用都是复制一份,方法中使用可以使用指针传递地址. 声明 ...

  3. golang切片slice

    切片slice是引用类型 len()函数获取元素的个数 cap()获取数组的容量 1.申明方式 (1)var a []int 与数组不同的是他不申明长度(2)s2 := make([]int, 3, ...

  4. 在python&numpy中切片(slice)

     在python&numpy中切片(slice) 上文说到了,词频的统计在数据挖掘中使用的频率很高,而切片的操作同样是如此.在从文本文件或数据库中读取数据后,需要对数据进行预处理的操作.此时就 ...

  5. Golang 入门 : 切片(slice)

    切片(slice)是 Golang 中一种比较特殊的数据结构,这种数据结构更便于使用和管理数据集合.切片是围绕动态数组的概念构建的,可以按需自动增长和缩小.切片的动态增长是通过内置函数 append( ...

  6. Go 灵活多变的切片Slice

    我们知道数组定义好之后其长度就无法再修改,但是,在实际开发过程中,有时候我们并不知道需要多大的数组,我们期望数组的长度是可变的, 在 Go 中有一种数据结构切片(Slice) 解决了这个问题,它是可变 ...

  7. 7 切片slice

    include 切片 切片的日常用法 切片slice 其本身并不是数组,它指向底层的数组 作为变长数组的替代方案,可以关联底层数组的局部或者 为引用类型. 可以直接创建或从底层数组获取生成. 使用le ...

  8. go递归函数如何传递数组切片slice

    数组切片slice这个东西看起来很美好,真正用起来会发现有诸多的不爽. 第一,数组.数组切片混淆不清,使用方式完全一样,有时候一些特性又完全不一样,搞不清原理很容易误使用. 第二,数组切片的appen ...

  9. [PY3]——内置数据结构(9)——线性结构与切片/命名切片slice()

    线性结构的总结 列表list  元组tuple  字符串str  bytes  bytearray的共同点: 都是顺序存储.顺序访问的: 都是可迭代对象: 都可以通过索引访问 线性结构的特征: 可迭代 ...

随机推荐

  1. Linux的MySQL安装和配置(详细)

    打开centos系统 输入root用户和密码(我的用户和密码都是root) 查看有没有安装mysql rpm -qa|grep mysql 没有返回任何信息说明没有安装 我是用的centos7,默认安 ...

  2. java实例化对象的过程

    总结以上内容,可以得到对象初始化过程:  1. 如果存在继承关系,就先父类后子类:  2 .如果在类内有静态变量和静态块,就先静态后非静态,最后才是构造函数:  3 .继承关系中,必须要父类初始化完成 ...

  3. maven插件上传本地jar包到maven中央仓库

    settings配置(如果设置后有问题,可以重启idea,保证重新加载settings文件): <!-- 上传jar包到maven中央仓库配置start --> <server> ...

  4. jQuery Ajax calls and the Html.AntiForgeryToken()

    jQuery Ajax calls and the Html.AntiForgeryToken() https://stackoverflow.com/a/4074289/3782855 I use ...

  5. PHP try catch 如何使用

      <?php   try { if (file_exists('test_try_catch.php')) { require ('test_try_catch.php'); } else { ...

  6. linux内核中的__cpu_suspend是在哪里实现的呀?

    1. 内核版本 4.19 2. 在arch/arm/kernel/sleep.S中实现如下: /* * Save CPU state for a suspend. This saves the CPU ...

  7. Carve ifc failed

    Detected IFC version: IFC2X3 Warning: Sweeper::createTriangulated3DFace, carve::triangulate::incorpo ...

  8. 42 Flutter仿京东商城项目 修改默认收货地址 显示默认收货地址

    CheckOut.dart import 'package:flutter/material.dart'; import '../services/ScreenAdapter.dart'; impor ...

  9. Ubunut16.04 安装 g++ gcc 降级

    1. 查看gcc版本和g++版本 cd /usr/bin ls -l gcc* ls -l g++* 2. 安装gcc和g++ 4.4版本 sudo apt-get install gcc-4.4 g ...

  10. Windows 7下安装MySQL Server卡在Apply Security Settings的解决方案(转)

    如果操作无效,请卸载MySQL Server后换一个位置安装 例如默认的是C:\Program Files\MySQL 安装时选Custom修改到D:\Program Files\MySQL试试 == ...