swift数据类型

swift数据类型分为值类型和引用类型:

值类型,存放在栈区;引用类型,存放在堆区。

值类型:

Int,UInt,Double,Float,Bool,String,Dictionary,Array,Set都是值类型,值类型通过结构体实现

值类型最基本的特征就是:复制一个值类型时两份内存空间独立:

只有类是引用类型,其他类型全部是值类型

 struct S{

            var data:Int=1;

        }

        var a =S();

        var b = a; //把a赋值给b

        a.data=40;

        print("\(a.data),\(b.data)");  //输出40,1

//a被改变了,b却没被改变;也就是a和b分别在两块内存,互相独立。

引用类型

是复制一个类型时:两个引用类型指向同一份内存:

class s{

    var data:Int=1

}

var a = s()

var b = a;

b.data =40;

print("\(a.data),\(b.data)"); 输出:40,40

a,b同时改变,说明指向同一份内存

你可能感兴趣的:(swift数据类型)