函數函數
// func // 在Swift中,一個個的方法就是函數 // 1.定義函數的關鍵字是func // 在定義函數的時候,無論有沒有參數都加括號,參數寫在括號中 // 在定義函數時,當沒有返回值的時候,也能夠寫成以下格式,當有返回值的時候在->後面加上返回值的類型
func printString()->() { println("hello world") } // 函數調用 printString()
1 func retrunHello()->String { 2 return "123" 3 } 4 println(retrunHello())
1 func personHello(str:String) { 2 println("hello, \(str)") 3 } 4 personHello("xiaoming")
1 func returnPerson(str:String)->String { 2 return str + " hello" 3 } 4 println(returnPerson("hhahahhh"))
Swift中函數之因此可以返回多個值,是由於Swift中函數能夠跟元組結合使用spa
1 func moreValue(str:String, str2:String)->(String, String) { 2 var minValue = str.lowercaseString 3 var maxValue = str2.uppercaseString 4 return (minValue, maxValue) 5 } 6 7 println(moreValue("ABC", "def"))
// 當咱們沒有添加var關鍵字的時候,參數默認的類型爲let類型,要想在函數中改變參數的值,是不能夠的,要想改變的話,用var修飾 func code
1 func changeValueInFunc(var number:Int) { 2 number++ 3 println(number) 4 } 5 changeValueInFunc(10)
// 當咱們真的想經過調用函數修改參數的值,要在函數形參前面加上inout關鍵字,而後調用的時候,在實參的前面加上取地址符,兩個配套使用,缺一不可 blog
1 func swapTwoNumber(inout number1:Int,inout number2:Int) { 2 var temp = 0 3 temp = number1 4 number1 = number2 5 number2 = temp 6 } 7 8 var a = 10, b = 2 9 swapTwoNumber(&a, &b) 10 println("a = \(a), b = \(b)")
// 函數定義外部參數名字class
// 定義函數外部參數名字,對函數的功能沒有任何影響,只是方便在調用的時候告訴填入參數的做用是什麼 變量
1 func printName(personName str:String) { 2 println(str) 3 } 4 printName(personName: "xiaoming")
// 外部參數名字的簡單寫法方法
// 經過#的使用直接使咱們函數的參數名做爲外部變量的名字di
1 func printPersonName(#personName:String) { 2 println(personName) 3 } 4 printPersonName(personName: "houzhichao")
下面函數的類型爲(Int)->Int func funcType(number:Int)->Int { return number }co
函數類型的驗證cas
1 func funcType(number:Int)->Int { 2 return number 3 }