函数
函数
介绍
// func
// 在Swift中,一个个的方法就是函数
// 1.定义函数的关键字是func
// 在定义函数的时候,不管有没有参数都加括号,参数写在括号中
// 在定义函数时,当没有返回值的时候,也可以写成如下格式,当有返回值的时候在->后面加上返回值的类型
1.1 没有参数没有返回值
func printString()->() { println("hello world") } // 函数调用 printString()
1.2 有返回值没有参数
1 func retrunHello()->String { 2 return "123" 3 } 4 println(retrunHello())
1.3 没有返回值有参数
1 func personHello(str:String) { 2 println("hello, \(str)") 3 } 4 personHello("xiaoming")
1.4 有返回值有参数
1 func returnPerson(str:String)->String { 2 return str + " hello" 3 } 4 println(returnPerson("hhahahhh"))
1.5 有多个参数
Swift中函数之所以能够返回多个值,是因为Swift中函数可以跟元组结合使用
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
1 func changeValueInFunc(var number:Int) { 2 number++ 3 println(number) 4 } 5 changeValueInFunc(10)
// 当我们真的想通过调用函数修改参数的值,要在函数形参前面加上inout关键字,然后调用的时候,在实参的前面加上取地址符,两个配套使用,缺一不可
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)")
// 函数定义外部参数名字
// 定义函数外部参数名字,对函数的功能没有任何影响,只是方便在调用的时候告诉填入参数的作用是什么
1 func printName(personName str:String) { 2 println(str) 3 } 4 printName(personName: "xiaoming")
// 外部参数名字的简单写法
// 通过#的使用直接使我们函数的参数名作为外部变量的名字
1 func printPersonName(#personName:String) { 2 println(personName) 3 } 4 printPersonName(personName: "houzhichao")
函数的类型
下面函数的类型为(Int)->Int func funcType(number:Int)->Int { return number }
函数类型的验证
1 func funcType(number:Int)->Int { 2 return number 3 }