教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang append

golang append

发布时间:2021-05-27   编辑:jiaochengji.com
教程集为您提供golang append等资源,欢迎您收藏本站,我们将为您提供最新的golang append资源

1. 优点:append可以对nil的slice进行操作

2.基本用法

创建s时,cap(s) == 1,内存中数据[5]
append(s, 7) 时,按Slice扩容机制,cap(s)翻倍 == 2,内存中数据[5,7]
append(s, 9) 时,按Slice扩容机制,cap(s)再翻倍 == 4,内存中数据[5,7,9],但是实际内存块容量4
x := append(s, 11) 时,容量足够不需要扩容,内存中数据[5,7,9,11]
y := append(s, 12) 时,容量足够不需要扩容,内存中数据[5,7,9,12]

3. 小坑

package main

import (
    "fmt"
)

func main() {
    var s = make([]string, 10)
    s = append(s, "aaa")

    fmt.Printf("s[0]=[%s]\n", s[0])

    for i, v := range s {
        fmt.Printf("s[%d]=[%s]\n", i, v)
    }
}


$ go build && ./main
s[0]=[]
s[0]=[]
s[1]=[]
s[2]=[]
s[3]=[]
s[4]=[]
s[5]=[]
s[6]=[]
s[7]=[]
s[8]=[]
s[9]=[]
s[10]=[aaa]

 

未完待续。。。

到此这篇关于“golang append”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
golang append数组
golang append
golang 连接 sqlserver 数据库
golang切片传参
golang 切片的append操作
golang中的空slice
golang map 赋值 修改 陷阱
golang归并排序算法
golang切片删除元素
golang 获取 进程 名称 id

[关闭]
~ ~