swift的struct結構體類型介紹使用

來源:互聯網
上載者:User

標籤:

<span style="font-size:24px;">struct David {    var x = 0;//定義一個結構體,兩個欄位x,y    var y = 0;//初始值    //定義結構體的建構函式    init(){        //定義一個空建構函式,真正的建構函式,調用時候不帶參數調用這裡        //建構函式是以init 開頭的,自動調用        // [[oc alloc]init]不是建構函式        println("in init");            }    init(x:Int,y:Int){        self.x = x;//定義帶有2個參數的建構函式,帶雙參數的時候調用這裡        self.y = y;        println("in init(x:y:)")            }        //結構體有建構函式,沒有解構函式    func getCenter()->Int{        return (x+y)/2;    }        //給現有的點x,y加位移量    //obj.addOffset(100,deltaY:)   mutating func addOffset (deltaX:Int,deltaY:Int){       //結構體是拷貝的對象,函數內部不能修改變數        //需要修改,加關鍵字mutating,    //mutating,可以修改建構函式內部變數        x += deltaX;        y += deltaY;    }};func testDavid(){    //定義一個結構體    //結構體的定義是 結構體的名字(參數名:參數值)    var d = David();//調用建構函式init()    var s = David(x: 100, y: 200);//調用建構函式init(x,y)    println("s.x = \(s.x), s.y = \(s.y)")        let c = s.getCenter();//調用解構函式getCenter    println("c is \(c)");        s.addOffset(100, deltaY: 200);//因為解構函式沒有傳回值,所以不能賦值給變數    println("d is :\(s.x)");}testDavid();//測試函數調用</span>


swift的struct結構體類型介紹使用

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.