swift之基本運算符

本章大致介紹一些swift特別的運算符

元組比較

import Foundation
/*
元組比較:
1.從左到右比較,一旦比出結果,即大於或小於,就是整體的比較結果
2.如果每個對應的元祖相等,則整體的結果就是相等
3.要比較7個或者更多的元素的元祖,必須實現比較運算符
*/
if (1,"zebra")<(2,"apple"){
	print("the second win")
}
if(3,"apple")<(3,"bird"){
	print("the second win")
}
if(4,"dog") == (4,"dog"){
	print("sample")
}

三元條件運算符

與C語言中差不太多,直接上例子:

//三元條件運算符 
let contentHeight = 40
let hasHeader = true
let rowHeight = contentHeight + (hasHeader ? 50 : 20)
print(rowHeight)

關於 ? 與 ! //重點

swift語言中,如果不對變量進行初始化是不會自動給他一個初值的此處報錯
此處報錯的原因就是未初始化number就對他進行了使用

swift中有一種可選類型。(Optionals)

在定義變量時添加一個問號。以爲此變量爲可選類型,如果後面,給該變量賦值x。那麼他就是x,如果沒有賦值,他就是nil。

var optionalInt : Int?
print(optionalInt)
// 此時結果是nil
var optionalInt : Int?
optionalInt = 1
print(optionalInt)
//此時輸出是Optional(1)

但是現在會出現警告,就是雖然現在有值,(不管是不是nil都認爲有值)。但是她現在是可選類型,應給他確定類型。

!

此時 !就是用來強制解析:

var optionalInt : Int?
optionalInt = 1
print(optionalInt!)
//此時輸出是1

此時optionalInt 是Int 類型。
所以有時候我們可以直接這麼寫:

var optionalInt : Int!
optionalInt = 1
print(optionalInt)
//此時輸出是1

注:使用!來獲取一個不存在的可選值會導致運行時錯誤。使用!來強制解析值之前,一定要確定可選包含一個非nil的值。
也就是說如果沒有第二句賦值,此程序會崩掉。
所以使用!時要注意這點

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章