编程学习网 > 数据库 > Go语言的结构体布局
2020
02-08

Go语言的结构体布局

2.4结构体布局
结构体占用一块连续的内存。
package main

import "fmt"
type Person struct {
    name string
    city string
    age int
}
func main() {
    var p1 = &Person{
        "vita",
        "ShangHai",
        27,
    }
    fmt.Printf("p1.name %p\n",&p1.name)
    fmt.Printf("p1.city %p\n",&p1.city)
    fmt.Printf("p1.age %p\n",&p1.age)
}

结果:
p1.name 0xc00005c360
p1.city 0xc00005c370
p1.age 0xc00005c380

Process finished with exit code 0

// 内存是以字节为单位的十六进制数
// 1字节 = 8位 = 8bit

package main

import "fmt"
type test struct {
    a int8
    b int8
    c int8
}
func main() {
    var p1 = &test{
        1,2,3,
    }
    fmt.Printf("p1.a %p\n",&p1.a)
    fmt.Printf("p1.b %p\n",&p1.b)
    fmt.Printf("p1.c %p\n",&p1.c)
}

结果:
p1.a 0xc000054080
p1.b 0xc000054081
p1.c 0xc000054082

Process finished with exit code 0

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取