zoukankan      html  css  js  c++  java
  • 51_Go基础_1_18 切片的扩容

     1 package main
     2 
     3 import "fmt"
     4 
     5 func main() {
     6     /*
     7         切片Slice:
     8             1.每一个切片引用了一个底层数组
     9             2.切片本身不存储任何数据,都是这个底层数组存储,所以修改切片也就是修改这个数组中的数据
    10             3.当向切片中添加数据时,如果没有超过容量,直接添加,如果超过容量,自动扩容(成倍增长)
    11             4.切片一旦扩容,就是重新指向一个新的底层数组
    12 
    13         s1:3--->6--->12--->24
    14 
    15         s2:4--->8--->16--->32....
    16 
    17     */
    18     s1 := []int{1, 2, 3}
    19     fmt.Println(s1)                                 // [1 2 3]
    20     fmt.Printf("len:%d,cap:%d\n", len(s1), cap(s1)) // len:3,cap:3
    21     fmt.Printf("%p\n", s1)                          // 0xc000012180
    22 
    23     s1 = append(s1, 4, 5)
    24     fmt.Println(s1)                                 // [1 2 3 4 5]
    25     fmt.Printf("len:%d,cap:%d\n", len(s1), cap(s1)) // len:5,cap:6
    26     fmt.Printf("%p\n", s1)                          // 0xc00000a270
    27 
    28     s1 = append(s1, 6, 7, 8)
    29     fmt.Println(s1)                                 // [1 2 3 4 5 6 7 8]
    30     fmt.Printf("len:%d,cap:%d\n", len(s1), cap(s1)) // len:8,cap:12
    31     fmt.Printf("%p\n", s1)                          // 0xc00001a0c0
    32 
    33     s1 = append(s1, 9, 10)
    34     fmt.Println(s1)                                 // [1 2 3 4 5 6 7 8 9 10]
    35     fmt.Printf("len:%d,cap:%d\n", len(s1), cap(s1)) // len:10,cap:12
    36     fmt.Printf("%p\n", s1)                          // 0xc00001a0c0
    37 
    38     s1 = append(s1, 11, 12, 13, 14, 15)
    39     fmt.Println(s1)                                 // [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]
    40     fmt.Printf("len:%d,cap:%d\n", len(s1), cap(s1)) // len:15,cap:24
    41     fmt.Printf("%p\n", s1)                          // 0xc000108000
    42 }
  • 相关阅读:
    gitblit安装使用
    谷歌AMP和百度MIP是什么鬼?
    微信小程序开发体验
    设计模式之策略模式
    【前端安全】JavaScript防XSS攻击
    【前端安全】JavaScript防流量劫持
    设计模式之“中间件模式”
    设计模式之Mixin模式
    设计模式之观察者模式
    设计模式之单例模式
  • 原文地址:https://www.cnblogs.com/luwei0915/p/15625412.html
Copyright © 2011-2022 走看看