Swift-基础-4

来源:互联网 发布:360云盘数据没有了 编辑:程序博客网 时间:2024/04/30 03:35
import Foundationprint("Hello, World!")/**************32、枚举**************///1.枚举语法enum Point {    case x    case y}//2.使用 switch 语句匹配枚举值let po = Point.yswitch po {case .x :    print("x")case .y:    print("y")}//3.枚举原始值enum Bounds : Int {    case width = 10    case height = 30}print(Bounds.width.rawValue)//4.枚举原始值的隐式赋值enum Char : Int {    case a = 1,j,o,i,y,z}print(Char.i.rawValue)//5.使用原始值初始化枚举实例let cc1 = Char.init(rawValue: 4)print(cc1!)/***************33、类和结构体**************///1.类和结构体的语法定义//类的定义class Person {    //声明属性:必须赋予初始值    var name = ""    var age : Int = 1    //在类里面声明一个结构体类型的属性:结构体的对象必须初始化    var frame : Frame = Frame.init()}//结构体的定义struct Frame {    //声明属性:必须赋予初始值    var point : Int = 1    var rect : Int = 1}//2.类和结构体实例//类的实例化var person1 = Person.init()//结构体的实例化var frame1 = Frame.init()//3.访问属性//类访问属性person1.name = "wo"//结构体访问属性frame1.rect = 3print(person1.name)//4.类和结构体的混合应用person1.frame.point = 44//5.结构体类型的成员逐一构造器,类不存在逐一构造器let frame2 = Frame.init()let frame3 = Frame.init(point: 3, rect: 8)let person2 = Person.init()//6.结构体是值类型  : 值类型的特点:当用一个值类型的对象给另一个对象赋值时,系统执行的是拷贝操作var frame4 = Frame.init(point: 10, rect: 20)var frame5 = frame4frame4.point = 100frame5.point = 800print(frame4.point,frame5.point)//7.类是引用类型 : 引用类型的特点:当用一个引用类型的对象给另一个对象赋值时,系统只是做了指针指向的改变,内存中没有拷贝var person3 = Person.init()person3.age = 200var person4 = person3person3.age = 600person4.age = 800print(person3.age, person4.age)//8.恒等运算符  :  只能判断两个由类创建的对象是否相同  ===if person3 === person4 {    print("相同")}else{    print("不同")}


0 0