小编Fai*_*VİM的帖子

Go 中数组的内存布局?

我的代码如下。当我检查值的地址时,它存储为280 288 290 298. 为什么要以这种模式存储?

package main
    
import "fmt"

func main() {
    const a = 1111111111111111111
    test := [7]int{a, 1, 33333,4,6,7,7}

    fmt.Println(&test[0])
    fmt.Println(&test[1])
    fmt.Println(&test[2])
    fmt.Println(&test[3])
    fmt.Println(&test[4])
    fmt.Println(&test[5])
    fmt.Println(&test[6])
}

Run Code Online (Sandbox Code Playgroud)

输出 :

0xc00000e280
0xc00000e288
0xc00000e290
0xc00000e298
0xc00000e2a0
0xc00000e2a8
0xc00000e2b0
Run Code Online (Sandbox Code Playgroud)

memory go low-level

-3
推荐指数
1
解决办法
518
查看次数

标签 统计

go ×1

low-level ×1

memory ×1