我是靠谱客的博主 每日一库,这篇文章主要介绍golang值类型和引用类型如何获取指针地址,现在分享给大家,希望可以做个参考。

1. 常见的值类型和引用类型分别有哪些?

值类型:基本数据类型 int 系列, float 系列, bool, string 、数组和结构体struct,使用这些类型的变量直接指向存在内存中的值,值类型的变量的值通常存储在栈中。

引用类型:指针、slice切片、map、管道chan、interface 等都是引用类型


1. 值类型和引用类型如何获取指针地址

func change(arr []int) {
   arr[0] = 7
   fmt.Println(arr) // [7 2 3]
}
func change2(arr [3]int) {
   arr[0] = 7
   fmt.Println(arr) // [7 2 3]
}
func main() {
   //值类型
   x := [3]int{1,2,3}
   change2(x)
   fmt.Println(x) // [1 2 3] // 并不是你以为的 [7 2 3]
   fmt.Printf("%p\n",&x) //0xc000014150

   //引用类型
   xx := []int{1,2,3}
   change(xx)
   fmt.Println(xx)    // [7 2 3] // 切片是引用类型,使用指针传值
   fmt.Printf("%p\n",xx) // 0xc000014198
}


最后

以上就是每日一库最近收集整理的关于golang值类型和引用类型如何获取指针地址的全部内容,更多相关golang值类型和引用类型如何获取指针地址内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(662)

评论列表共有 0 条评论

立即
投稿
返回
顶部