美文网首页
swift的值类型和引用类型

swift的值类型和引用类型

作者: 三千烦恼风_eefa | 来源:发表于2022-11-02 10:14 被阅读0次

    Swift 值类型和引用类型

    值类型,即每个实例保持一份数据。实例以及它们作为属性的任何值类型在代码中传递时总是被复制,它会创建一个全新的副本,改变副本的值不影响原始数据的值
    
    引用类型,即所有实例共享一份数据。
    
    引用类型在分配给变量或者常量,或者传递给函数时,其不会复制。而是对相同现有实例的引用。相当于只是创建一个共享的实例分身,两者公用一套数据。修改一处,另一处也会更改
    
    • 值类型包括:所有基本类型:整型(Int),浮点型(float),布尔类型(Boolean),字符串类型(String),数组类型(Array),字典(Dictionary),元组(Tuple)都是值类型,它们底层都是以结构体(Struct)的形式实现的,所有结构体(struct)也是值类型,枚举(Enum)也是。

    • 类(Class)属于引用类型;

    Swift关键字

    • mutating:用于值类型中

      修饰的是方法,告诉编译器这个方法会改变自身

    • inout:修改的是参数类型,inout能够让函数修改传递过来的参数;

    mutating方法的第一个参数是self,并且以inout的方式传入,因为值类型在参数传递的时候会被复制,所以对于非mutating方法,self其实是值的副本,为了进行修改,self需要被声明为inout,而mutating的本质就是编译器帮我们完成的这个任务.

    相关文章

      网友评论

          本文标题:swift的值类型和引用类型

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