美文网首页
go 函数的参数传递方式

go 函数的参数传递方式

作者: StevenQin | 来源:发表于2019-03-01 12:11 被阅读0次

    分两种

    1、值传递

    值类型:基本数据类型int系列,float系列,boolstring数组和结构体struct

    2、引用传递

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

    其实,不和是值传递还是引用传递,传递给函数的都是变量的副本,不同的是值传递的是值的拷贝,引用传递的是地址的拷贝地址拷贝效率高,因为数据量小,而值拷贝决定于数据量的大小,数据越大,效率越低

    值类型和引用类型的使用特点

    • 值类型:变量直接存储值,内存通常在中分配示

      image.png
    • 引用类型:变量存储的是一个地址,这个地址对应的空间才真正存储数据(值),内存通常在
      上分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由GC来回收

      image.png
    • 内存的的示意图

      m
    • 如果希望函数内的变量参修改函数外的变量,可以传入变量的地址&,函数内以指数针的方式操作变量

    相关文章

      网友评论

          本文标题:go 函数的参数传递方式

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