Swift 5 可選型別 Optionals

2021-09-26 18:59:07 字數 1313 閱讀 1437

var name:

string?=

"jack"

var age:

int?

age =

10

var age1:

int?

age1!

age1 =

10age1!

//確定可選性不為空的時候才可以強制解包

if

let num =

int(

"123"

), num >

0else

a ?? b

a 是可選項

b 是可選或者不是可選

a和b的儲存型別必須相同

a != nil 返回 a

a == nil 返回 b

b 不是可選型別時,返回的 a 是會d自動解包

注意返回值得型別

let info:

[string

:string]=

["user"

:"swift"

]func

guardtest()

user =

"oc"

// guard 語句進行可選繫結時, 繫結的let,var 可以在 guard 的外層作用域中使用

print

(user)

}guardtest

()

var num1:

int!=10

num1 =

nilvar num2:

int= num1 ?

?0

var num1:

int?=10

var num2:

int?

?= num1

var num3:

int??=

10print

(num2 == num3)

let n =

(num2 ??10

)??2

var num4:

int?

=nil

var num5:

int?

?= num1

var num6:

int??=

nilprint

(num5 == num6)

// frame variable -r / fr v -r 檢視記憶體結構 檢視詳細問題

Swift 可選型別

swift 可選型別 optionals 可選型別 強制解析 自動解析 可選繫結 1.可選型別 加入我們建立乙個變數,但是它有可能為空,這時候swift提供乙個符號 來表示這是乙個可能為空的變數 var thisstr string?看到這裡的if,沒錯,if或者for迴圈後面的內容不加 加了也沒錯...

Swift 可選型別

在 swift 中,可選型別用來處理值可能缺失的情況,表示下面兩種情況 在 swift 中宣告變數時,使用?或 來表示宣告的變數是可選型別。let name string?var age int 此時,變數name和age預設都是nil,表示空。而?和 的區別在於使用前者宣告的變數所包含的值時,需要...

swift5基礎語法

先從最基本的常量 變數說起 新建變數 新建變數的語法 var keyword 變數名 資料型別 變數值 swift會自動判斷型別,所以資料型別可以省略 var str hello,playground print str var greeting hello swift developers pri...