bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

03.Swift結構體

/*

創新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站設計、網站制作、外貿營銷網站建設、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的高郵網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

結構體:

結構體是用于封裝不同或相同類型的數據的, Swift中的結構體是一類類型,可以定義屬性和方法(甚至構造方法和析構方法等)

格式:

struct 結構體名稱 {

   結構體屬性和方法

}

*/

struct Rect {

    var width:Double = 0.0

    var height:Double = 0.0

}

//如果結構體的屬性有默認值,可以直接使用()構造一個結構體

//如果結構體的屬性沒有默認值,必須使用逐一構造器實例化結構體

var r = Rect()

print("width =\(r.width) height =\(r.height)")

//結構體屬性的訪問使用.語法

r.width = 100

r.height = 99

print("width =\(r.width) height =\(r.height)")

/*

結構體構造器

Swift中的結構體和類跟其它面向對象語言一樣都有構造函數,而OC是沒有的

Swift要求實例化一個結構體或類的時候,所有的成員變量都必須有初始值,構造函數的意義就是用于初始化所有成員變量的,而不是分配內存,分配內存是系統幫我們做的.

如果結構體中的所有屬性都有默認值,可以調用()構造一個結構體實例

如果結構體中的屬性沒有默認值,可以自定義構造器,并在構造器中給所有的屬性賦值

其實結構體有一個默認的逐一構造器,用于在初始化時給所有屬性賦值

*/

struct Rect2 {

    var width:Double

    var height:Double = 0.0

}

//逐一構造器

var r1 = Rect2(width: 10.0, height: 10.0);

//錯誤寫法,順序必須和結構體中成員的順序一致

//var r1 = Rect2(height: 10.0, width: 10.0);

//錯誤寫法,必須包含所有成員

//var r1 = Rect2(height: 10.0);

/*

結構體中定義成員方法

在C和OC中結構體只有屬性,而Swift中結構體中還可以定義方法

*/

struct Rect3 {

    var width:Double

    var height:Double = 0.0

   //給結構體定義一個方法,該方法屬于該結構體

   //結構體中的成員方法必須使用某個實例調用

   //成員方法可以訪問成員屬性

    func getWidth() -> Double{

        return width

    }

}

var r2 = Rect3(width: 10.0, height: 20.0)

//結構體中的成員方法是和某個實例對象綁定在一起的,所以誰調用,方法中訪問的屬性就屬于誰

print(r2.getWidth())

var r3 = Rect3(width: 30.0, height: 20.0)

//取得r2這個對象的寬度

print(r3.getWidth())

/*

結構體是值類型

*/

struct Rect4 {

    var width:Double

    var height:Double = 0.0

    func show() -> Void{

        print("width =\(width) height =\(height)")

    }

}

var r4 = Rect4(width: 10.0, height: 10.0)

var r5 = r4

/*

賦值有兩種情況

1.指向同一塊存儲空間

2.兩個不同實例,但內容相同

*/

r4.show()

r5.show()

r4.width = 20.0

//結構體是值類型,結構體之間的賦值其實是將r1中的值完全拷貝一份到r2中,所以他們是兩個不同的實例

r4.show()

r5.show()

本文名稱:03.Swift結構體
本文路徑:http://vcdvsql.cn/article4/gjoioe.html

成都網站建設公司_創新互聯,為您提供云服務器搜索引擎優化小程序開發品牌網站建設網站制作域名注冊

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站建設網站維護公司