【Swift初見】Swift函數(一),初見swift函數
在任何語言中,函數都是非常重要的,今天我們就來初步的學習下Swift中的函數。
1、Swift函數預設參數:
①、可以放在函數的任意位置;
②、外部名稱與內部名稱一致;
③、調用的時候可以不寫;
④、在函數定義時傳入參數裡定義好。
func joinString(s1: String , toString s2: String , joiner s3 : String = "*") -> String{ return s1 + s3 + s2}let str = joinString("Hello", toString: "World", joiner: "#")println(str)
從上面的代碼可以看出,joiner是定義好的一個預設參數,我們在調用的時候可以寫也可以不寫,看下面的代碼:
func joinString(s1: String , toString s2: String , joiner : String = "*") -> String{ return s1 + joiner + s2}let str = joinString("Hello", toString: "World", joiner: "#")println(str)
此時的joiner既是外部參數也是內部參數,相當於我們在joiner前面加了#號。
2、Swift輸入輸出函數(inout)
func swap(var a: Int, var b: Int){ let t = a a = b b = t}var x = 10var y = 19swap(x, y)println("\(x) , \(y)")
從上面的代碼輸出可以看出,x和y的值實際並沒有改變,這就是我們認識的一個誤區,swap的參數實際是實參,就相當於我們輸入了2個整數而已,而實際上x和y的值並沒有被改變,那如果我們需要改變x和y的值,那我們就該傳入x和y的地址。
func swap(inout a: Int, inout b: Int){ let t = a a = b b = t}var x = 10var y = 19swap(&x, &y)println("\(x) , \(y)")
從上面的代碼可以看出,當我們需要改變變數的實際值得實惠,我們在函數調用的時候就應該使用輸入輸出函數(inout),在調用函數的時候也要加上&符號。
結論:當我們需要在函數內部修改函數外部值得時候,我們需要在函數形參位置改為inout參數,調用函數的時候要取地址。