10 4 Swift結構體中的mutating方法

2021-07-25 11:32:57 字數 901 閱讀 8444

/**

結構體中的

mutating方法

值型別(結構體或者列舉)預設方法是不可以修改屬性的,也不可以修改

self本身

如果要修改需要做特殊處理,函式前加上

mutating。

當然在類

(class

)裡面當然是可以修改屬性的。 */

class

myperson

func

show() ->

void }

varm0 =

myperson

.init()

m0.set

(name:

"zhangsan"

, age: 10)

m0.show()

struct

myperson1

func

show() ->

void }

// 這個不可以修改

//        let m11 = myperson1.init()

//        m11.set(name: 1, age: 1)

varm10 =

myperson1

.init()

m10.

set(name:

"zhangsan"

, age: 10)

m10.

show()

// 列舉裡面

enum

lightswitch }

} varlight =

lightswitch

.off

// 呼叫之後,此時此刻

light == .low

light.

next()

Swift中類和結構體

1.類和結構體對比 swift 中類和結構體有很多共同點 與結構體相比,類還有如下的附加功能 2.類和結構體的定義語法 類和結構體有著類似的定義方式。我們通過關鍵字class和struct來分別表示類和結構體,並在一對大括號中定義它們的具體內容,如下 class videomode struct r...

Swift 結構體的使用

swift 結構體是構建 所用的一種通用且靈活的構造體。我們可以為結構體定義屬性 常量 變數 和新增方法,從而擴充套件結構體的功能。與 c 和 objective c 不同的是 結構體總是通過被複製的方式在 中傳遞,因此它的值是不可修改的。我們通過關鍵字 struct 來定義結構體 struct n...

swift中類和結構體的區別

所有的結構體都有乙個自動生成的初始化器,你可以使用它來初始化結構體例項的成員屬性。新例項屬性的初始化值可以通過屬性名稱傳遞到成員初始化器中 let vga resolution width 640,height 480 與結構體不同,類例項不會接收預設的成員初始化器,初始化器的更多細節在初始化章節。...