首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解数组和片的内存布局

理解数组和片的内存布局
EN

Stack Overflow用户
提问于 2020-04-11 15:27:45
回答 1查看 184关注 0票数 0

在64位操作系统上,

以下代码如下:

代码语言:javascript
复制
println("Simple Array:")
var arrayint = [...]int{1, 2, 3, 4} //assign
fmt.Println(arrayint)

println("Simple Slice:")
var sliceint []int
sliceint = arrayint[:] //assign
fmt.Println(sliceint)

以下是内存表示:

以下代码如下:

代码语言:javascript
复制
println("Array of arrays:")
var arrayofarrays [3][len(arrayint)]int
for i := range arrayofarrays { //assign
    arrayofarrays[i] = arrayint
}
fmt.Println(arrayofarrays)

println("Array of slices:")
var arrayofslice [len(arrayofarrays)][]int
for i := range arrayofarrays { // assign
    arrayofslice[i] = arrayofarrays[i][:]
}
fmt.Println(arrayofslice)

println("Slice of arrays:")
var sliceofarray [][len(arrayint)]int
sliceofarray = arrayofarrays[:]
fmt.Println(sliceofarray)

编辑:下面的是内存表示:

以下代码如下:

代码语言:javascript
复制
var sliceofslices [][]int

以下是内存表示:

关于以下项目:

代码语言:javascript
复制
sliceofslices = arrayofslice[:]

sliceofslices的内存表示是什么?在使用之前需要了解..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-11 16:14:57

arrayofslice是一个片数组,因为一个片的大小是24个字节,所以arrayofslice的大小是n* 24,其中n是元素计数。sliceofslices是一个带有支持数组arrayofslice的切片。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61159244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档