美文网首页
理解Go 值类型、引用类型、引用传递、值传递

理解Go 值类型、引用类型、引用传递、值传递

作者: 禹声 | 来源:发表于2021-10-22 16:40 被阅读0次

值类型:

可以理解成基础类型。int、float、bool、array、sturct等

引用类型:

可以理解成值类型上层的组装。[]int、map[string]bool等

值传递:

值类型的变量,在方法中传递

会将变量完全复制一份(指针和值都复制一份)。在方法中操作的都是新复制的内容,修改操作,不会影响原来的变量。

引用传递:

引用类型的变量,在方法中传递
因为引用类型是一堆值类型的组合,在传递的时候会一半复制一般不复制(指针复制,指针指向的位置复制共用一个)。

  • 因为指向一个位置,所以单独修改其中的内容,原来的变量也会发生改变的;
  • 但是添加导致扩容,会让指针指向不同位置,修改不会影响之前的变量

相关文章

网友评论

      本文标题:理解Go 值类型、引用类型、引用传递、值传递

      本文链接:https://www.haomeiwen.com/subject/ujthaltx.html