Swift语言中与C/C++和Java不同的语法(四)
这一节,我们将会讨论一下Swift中的函数相关的基本内容
首先是函数的创建:
func sayHello (name:String) -> String { return "Hello"+name }
上述即是函数的创建方法:
func函数声明的关键字
sayHello函数名
(name:String)参数列表
-> String函数的返回值
{ return "Hello"+name函数体 }
当函数没有返回值的时候可以这样写:
func sayHello (name:String) -> Void { } 或者 func sayHello (name:String) -> () { }
需要注意的是Void 的V是大写的,因为Void是一个类型。
当有多个返回值的时候可以利用元组作为返回类型
func findMaxAndMin(numbers:[Int])->(maxValue:Int,minVlue:Int){
return (maxValue,minVlue)
}
let result = findMaxAndMin([1,2,3,4,5,6])
result.maxValue
result.minValue
返回值需要与声明中的返回值名称一致。
为了防止传入的值为空,需要改为可选型:
func findMaxAndMin(numbers:[Int])->(maxValue:Int,minVlue:Int)?{ guard numbers.count > 0 else{ return nil } return (maxValue,minVlue) }
通过guard关键字进行判断,在可选型中我们已经讲过了
在对函数进行调用的时候,所有的参数名都不可以省略:
func sayHello (name:String, greeting:String) -> String { return name+greeting } sayHello(name:“PlayGround”, greeting:“Hello”) 如果在函数声明中用下划线代替: func sayHello (name:String, _:String) -> String { return name+greeting } 那么调用的时候可以省略 sayHello(name:“PlayGround”, “Hello”)