来源:未知 时间:2021-07-24 21:29 作者:小飞侠 阅读:次
[导读] 请看测试代码: packagemainimportfmtfuncmain(){vars[]intprintSlice(s)fmt.Printf(%p\n,s)//添加一个空切片s=append(s,0)printSlice(s)fmt.Printf(%p\n,s)//这个切片会按需增长s=append(s,1)printSlice(s)fmt.Printf(%p\n,s)//可以一...
请看测试代码: package main import "fmt" func main() { var s []int printSlice(s) fmt.Printf("%p\n", &s) // 添加一个空切片 s = append(s, 0) printSlice(s) fmt.Printf("%p\n", &s) // 这个切片会按需增长 s = append(s, 1) printSlice(s) fmt.Printf("%p\n", &s) // 可以一次性添加多个元素 s = append(s, 2, 3, 4) printSlice(s) fmt.Printf("%p\n", &s) } func printSlice(s []int) { fmt.Printf("len=%d cap=%d %v\n", len(s), cap(s), s) } 返回结果: len=0 cap=0 [] 0xc0000ae018 len=1 cap=1 [0] 0xc0000ae018 len=2 cap=2 [0 1] 0xc0000ae018 len=5 cap=6 [0 1 2 3 4] 0xc0000ae018 由此可见,内存地址并没有改变。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com