聲明變量:var age = 10swift
聲明常量:let age = 10 (不加分號,除非多條語句寫在同一行)安全
二進制前綴:0b(必須小寫)函數
八進制前綴:0ospa
十六進制前綴:0xcode
Int Float Double Bool Character String Array Dictionary Tuple(元組類型) Optional(可選類型)orm
Swift中的中包括有符號整型和無符號整型blog
字符串:@"abc\(x)" x爲一個整型數據或其餘:在Swift中沒有stringWithFormat的用法 用\()代替字符串
let age: Int = 10string
十進制表示浮點數:eN:10的N次方it
// 沒有指數時 let d1 = 12.5 // 有指數 let d2 = 0.125e2
十六進制表示浮點數:pN:2的N次方 d3 = (8/16 + 12) * 1 = 12.5
let d3 = 0xC.8p0 // d3 = 0xC.8 * 2的0次方 = 12.5
Swift可進行多個賦值:
基本的邏輯運算都一些樣 強調賦值運算符:
= OC中的賦值運算符有返回值if(x = y)爲永真
Swift中這種寫法屬於語法錯誤,Swift中=沒有具體返回值
Swift能夠對浮點型數據進行取餘運算
a % b 結果所得餘數的正負和a的符號一致
Swift中的if語句必須是Bool型 true爲真 false爲假 沒有C語言中非0爲真的說法
三目運算符中的條件也必須是Bool型的 比較運算符和邏輯運算符的返回值爲true 和 false兩種(不是1 0)
a...b:範圍是:[a, b]
a..<b: 範圍是:[a, b)
Swift中的for循環:
for i in 0...5 { // 執行6次 :0 1 2 3 4 5 }
&+ &- &/ &* &%
上溢出:最大值+1結果爲0 下溢出:最小值-1結果爲最大值
定義:有N個任意類型的數據組成
let po = (x : 12.6, y : 18 ) -----> x y是元素
例:
var point = (x : 10.3, y : 5) /** *獲取元組類型中的元素: *point.x point.y * point.0(獲取x) point.1(獲取y) **/
用let定義一個元組以後,不能夠改變其中元素的值
下面語句錯誤:指定元素類型以後 不能加上元素的名稱:
var person:(Int ,String) = (age : 23, name : "ha")
元組中:下劃線能夠忽略某個元素的值,以便取出其餘的元素值
for ,while ,do while ,if都與OC中同樣
注:這些語句後面必須加{}
for i in 1...4 { // 若是不使用i 能夠用下劃線_替換i }
在Swift中:switch case後面不須要加break
每個case與語句後面必須加內容,不能爲空的
case0, 1, 2:(知足三個條件中的一個 用逗號分割便可 C語言中多條件表示:case 0: case 1: case 2: --> 比較麻煩 )
case 0...3: case 4...10:etc
例:一箇中心在原點:邊長爲4的正方形:判斷一個點是否在這個矩形框中:
let point = (1, 1) switch point { case (0, 0): // x能夠爲任意值:x軸點 case (_, 0): // 在矩形框中: case (-2...2, -2...2): }
4》case數值綁定:
能夠將switch中的值綁定給一個特定的常量或者變量,以便在case裏面的語句中使用這個值
注:fallthrough後面的case語句不能定義變量和常量:例如case let (x, y) where x == y
let point = (10, 0) switch point { // 只要某個點的y值知足爲0 就能夠走下面的語句,而後獲取x的值 能夠進行其餘的操做 case (let x, 0): // 任意一個點都會走 case let (x, y): }
5》switch中添加where語句:
case let (x, y) where x == y :
6》fallthrough:
做用:執行完當前的case語句,會接着執行fallthrough後面的case或者default語句(至關於C語言中沒有加break語句)
out : for _ in 1...2 { for _ in 1..3 { print("ha") // break本來只能跳出內層循環 能夠經過加標籤 跳出外層循環 break out } print("kk") }
1> 函數定義:
func 函數名(形參列表) -> 返回值類型 {
函數體
}
形參列表:形參名1: 形參類型1, 形參名2:, 形參類型2
無返回值:
func 函數名(形參列表) -> ()
func 函數名(形參列表) -> Void
func 函數名(形參列表)
2> 外部參數名:
使用外部參數名的目的:就是在分不清每一個形參的意義時 能夠經過外部參數名提示
以下:Age Number就是外部參數名
格式:外部參數名寫在形參名前面 用空格隔開
func HA(Age age : Int, Number num : Int) { } // 調用方法: HA(Age: 10, Number: 34)
3> 默認參數值:
在形參前面加#至關於生成一個與當前形參同名的外部參數名
func add(name : String, age : Int = 20){ } // 存在默認參數的時候,Swift會自動給它生成一個跟形參名相同的外部形參名, 調用方法的時候須要將參數名寫出 add("haha", age: 32)
在帶有默認參數值的形參名前面寫一個下劃線:_ 在方法調用的時候就不用寫外部參數了
func add(name : String, _ age : Int = 20){ } // 存在默認參數的時候,Swift會自動給它生成一個跟形參名相同的外部形參名, 調用方法的時候須要將參數名寫出 add("haha", 32)
4> 常量參數和變量參數:
默認狀況下,函數的參數都是常量參數, 不能在函數內部修改
若是須要在函數內部對參數進行修改,需定義爲var
5> 輸入輸出函數:
swift中想要修改函數內部局部變量的值,利用輸入輸出函數
輸入輸出函數定義:
func swap (inout num1 : Int, inout num2 : Int)
注:不利用第三個變量的前提下,交換兩個變量的值:一:異或運算 二:和 差
a. 傳遞實參的時候,必須在實參的前面加上&
b. 不能傳入常量或者字面量(例:12)做爲參數值,
c. 輸入輸出參數不能有默認值 不能使用let var修飾(inout和let var 不能共存)