2024-07-31 11:08AM
可以使用 & 操作符来获取变量的内存地址
eg:
package main
import "fmt"
type Person struct {
Name string
Age int
}
func main() {
p := Person{
Name: "John",
Age: 30,
}
// 打印变量p的内存地址
fmt.Printf("Memory address of p: %p\n", &p)
// 打印结构体字段的内存地址
fmt.Printf("Memory address of p.Name: %p\n", &p.Name)
fmt.Printf("Memory address of p.Age: %p\n", &p.Age)
}
输出结果如下:
$ go run test_go_system.go
Memory address of p: 0xc000010030
Memory address of p.Name: 0xc000010030
Memory address of p.Age: 0xc000010040
也可以使用 %x
格式化输出十六进制形式的内存地址:
eg:
// 打印变量p的内存地址
fmt.Printf("Memory address of p: 0x%x\n", &p)
输出结果:
$ go run test_go_system.go
Memory address of p: 0x&{4a6f686e 1e}
Memory address of p.Name: 0xc000010018
Memory address of p.Age: 0xc000010028
登录
请登录后再发表评论。
评论列表:
目前还没有人发表评论