打印指针变量的地址用&ptr,2. 打印指针指向的值用*ptr,3. 打印指针存储的地址直接输出ptr或使用%+p格式,三者区分清晰。

在Golang中,打印指针的地址和值是理解指针行为的关键。我们可以通过fmt包中的Println或Printf来实现。
打印指针的地址
指针变量本身也有内存地址,使用&操作符可以获取指针变量的地址。
示例代码:
func main() {num := 42
ptr := &num
fmt.Println("指针变量的地址:", &ptr)
}
打印指针指向的值
使用*操作符可以解引用指针,获取它所指向的变量的值。
立即学习“go语言免费学习笔记(深入)”;
示例代码:
func main() {num := 42
ptr := &num
fmt.Println("指针指向的值:", *ptr)
}
打印指针本身的值(即它存储的地址)
指针的值就是它保存的内存地址,也就是它指向的那个变量的地址。直接打印ptr即可。
也可以使用%p格式化输出更清晰地显示地址。
示例代码:
func main() {num := 42
ptr := &num
fmt.Println("指针存储的地址(指向的地址):", ptr)
fmt.Printf("用 %%p 格式打印地址:%p\n", ptr)
}
基本上就这些。通过 ptr 看地址,*ptr 看值,&ptr 看指针自己存在哪。不复杂但容易忽略细节。











