結構體的變異方法

2021-08-07 15:39:52 字數 471 閱讀 7524

在swift中,結構體型別或列舉型別等值型別有時需要通過例項方法來修改屬性的值,但預設情況下是不能通過例項化物件通過該方法修改屬性的值,這時只需要在該方法前加上mutating關鍵字即可,這種方法就成為變異方法。

struct mypoint 

func show()

}var p = mypoint()

p.setpoint(x: 1, y: 2)

p.show() //列印 x:1, y:2

甚至可以通過mutating修改self的值:

enum lightswitch 

}}//呼叫

var light = lightswitch.off

print(light) //列印off

light.next()

print(light) //列印low

同步變異步的方法

top其實就是由函式提供者實現多執行緒。top 非同步函式是肯定要使用多執行緒的。同步呼叫是指你在當前執行緒中呼叫了乙個函式,該函授可能需要很長的執行時間,而你要需要該函授的執行結果,因此你的當前現成一直要等待該函授返回。非同步呼叫是指你使用新的執行緒呼叫乙個函授,或者該函授內部使用了新的執行緒,而...

Vue 陣列的變異方法

push 往陣列最後面新增乙個元素,成功返回當前陣列的長度 pop 刪除陣列的最後乙個元素,成功返回刪除元素的值 shift 刪除陣列的第乙個元素,成功返回刪除元素的值 unshift 往陣列最前面新增乙個元素,成功返回當前陣列的長度 splice 有三個引數,第乙個是想要刪除的元素的下標 必選 第...

go 修改結構體方法 go結構體方法

golang中的方法是作用在特定型別的變數上,因此自定義型別,都可以有方法,而不僅僅是struct。定義格式 func var struct name funcname var0,var1.return type package main import fmt type test struct na...