zoukankan      html  css  js  c++  java
  • Go语言slice的那些坑

    Go语言Google开发的适用于多核编程的语言。我感觉它像是C语言的现代版本,简单,并发支持友好,部署轻松。GO语言中保留关键字就只有25个,这也足以说明它的学习成本并不高。

    然而,Go语言里面slice这个东西并不简单。初学者容易掉入坑中。此文件就试图把slice给讲解清楚。

    下面先讲一下slice的一些基本特性。

    1. slice内部有三个变量,分别是:ptr, len, cap

    ptr是用来存储数据的数组

    cap是ptr数组的长度

    len是实际数组的长度

    2. 如何在初始化的时候,指定slice的长度?

    a := make([]int, 10)


    这里make的时候,第2个参数,就是这个slice的长度。

    这个时候它的capacity是多少呢?

    fmt.Println(cap(a))

    这里打印出来是10。

    注意:

    如果 a := make([]int, 10)

    a = append(a, 1)

    此时 len(a) = 11 的

    make([]int,10) 其实是分配一个长度为10的初始化为0值的 切片

    转载: https://studygolang.com/articles/6557

    浪漫家园,没事就来逛逛
  • 相关阅读:
    react-router-dom
    react详解state、props、refs
    vuex
    canvas与svg相关介绍与区别
    js改变标签属性与js事件
    Typescript基础类型
    es6
    js模块化的3种规范
    webpack
    react-infinite-scroller使用
  • 原文地址:https://www.cnblogs.com/lovezbs/p/14629305.html
Copyright © 2011-2022 走看看