標籤:
聲明變數與常量
//使用var聲明一個變數var str = "Hello, playground"str = "Hello world";//使用let聲明一個常量let str1 = "我是帥哥";str1 = "我不是帥哥"; //這句話會報錯let name = "我是帥哥"; //聲明一個常量,類型自動推斷為String類型var age:Int = 20; //聲明一個變數指定好類型
輸出語句
//在swift1中是println在swift2.0以後一律改為print了print("我說過一句話\(name)");print("我的年齡是\(age)");
整形
swift提供了有符號和無符號的8位,16位,32位和64位的類型
擷取整形的邊界
let minValue = UInt8.min; //擷取無符號的8位整形的最小值let macValue = UInt8.max; //擷取無符號的8位整形的最大值
Int類型
int類型包含的幾乎我們常用的整數,64位平台最大值為9223372036854775807
- 在32位平台 上Int類型為32位正數
- 在64位平台 上Int類型為64位正數
上面兩點同樣適用於無符號類型
浮點數
- Double相當於64位的浮點數
- Float相當於32位的浮點數
let pi = 3.14; //swift預設推斷位Double類型
整形和浮點型相加
let sum = 2 + 2.14; //這樣不需要強制類型轉換let count = 2;lei sum = pi + Double(count); //這中需要強制類型轉換
typealias類型同名
相當於C語言中的typedef
typealias Type = UInt16; //Type就是UInt16這個類型var TypeMin = Type.min; //UInt16的最小值
boolean值
swift中的布爾值位true 和 false
OC中的布爾值位YES 和 NO
var flag = true; flag = false;
Tuples元組
元組是幾個任意類型值的組合
例如
let myTuples = (20, "沸沸騰"); //myTuples就是一個二元元組,20的序號為0,"沸沸騰"為1let myTuples1 = (20, "沸沸騰","大帥哥");//這個就是一個三元組
元組的訪問
//使用序號訪問print("我的年齡是\(myTuples.0)"); //我的年齡是20\n//將這個元組賦值給另一個元組接收let (myName, myAge) = myTuples;print("my name is \(myName)");//如果只是需要元組中的某些值可以使用下面這個方法let (age1, _) = myTuples;print("my age is \(age1)");
也可以使用下面這種方法聲明和使用
let myInfo = (name: "沸沸騰", age: 22);print("my name is \(myInfo.name), my age is \(myInfo.age)");
可選值optional
optional可能是一個值,也可能不是一個值,當不是一個值的時候就為nil,在swift中nil就是一個確定的類型,並不是指標
var myStr: String?; //myStr就是nilvar myStr: String; //myStr什麼都不是
myStr = "1234";var num = Int(myStr); //被推斷為1234,位Int?類型var myStr1 = "hell"var num1 = Int(myStr1); //轉換失敗
使用if let把可選值綁定
//num是一個可選值if let constNum = num { print("num 有值 為\(constNum)");//num被成功轉為正數} else { print("num 沒有 值");}
多個轉個
//如果num有值,num1有值if let constNum = num, constNum1 = num1 { print("num 有值 為\(constNum)");} else { print("num 沒有 值");}
隱式解析可選
隱式解析可選主要用於類的構造過程中
隱式可選其實就是一個普通的可選,但是也可以當做普通類型使用
普通可選訪問值
var myStr = "1234";var num:Int? = Int(myStr);print("\(num!)"); //得到1234print("\(num)"); //得到optional(1234);var myStr1 = "hell"var num1: Int? = Int(myStr1);print("\(num1!)"); //報錯,因為沒有值可以解析print("\(num1)"); //nil
隱式可選訪問值
var myStr = "1234";var num:Int! = Int(myStr);print("\(num!)"); //1234print("\(num)"); //1234var myStr1 = "hell"var num1: Int! = Int(myStr1);print("\(num1)"); //nilprint("\(num1!)"); //報錯
錯誤處理
使用 try catch語句 或者 throw exception
斷言
斷言就是保證值是要求的,不然就會報錯
使用方式:當你的值必須是正確的時候才能保證程式運行,那麼使用斷言就可以保證值的正確性
let age = -3;assert(age >= 0, "年齡不符合要求");
【swift-總結】基礎使用