函数

函数

介绍

// 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 }

 

 posted on 2015-06-23 23:11  一米深蔚蓝  阅读(193)  评论(0编辑  收藏  举报