您的位置:首页 > 移动开发 > Swift

swift学习之函数

2015-12-28 21:20 459 查看

function 函数

1.定义函数

func sayHello (personName:String)->String{
let result = "hello,\(personName)"
print(result)

return result
}
sayHello("iyaqi") //"hello,iyaqi"


2.参数和返回值

2.1 无参数

func sayHelloAgain()->String{
return "hello,iyaqi"
}
sayHelloAgain()  //"hello,iyaqi"


2.2 无返回值

func sayHelloThirdTime( personName :String){
print("hello,\(personName)")
}

sayHelloThirdTime("iyaqi") //"hello,iyaqi\n"


2.3多个参数

func sayHello(personName:String,isMan:Bool)->String{
if isMan{
return("\(personName) is a 男人")
}else{
return("\(personName) is a 女人")
}
}

sayHello("iyaqi", isMan:true) //"iyaqi is a 男人"


2.4多个返回值,可以有无限个

func printMutiReturnValue(integerValue:Int)->(Int,String){
let str = "\(integerValue) is a number"
return (integerValue,str)
}
print(printMutiReturnValue(2)) //"(2, "2 is a number")\n"


假如返回多个值有空的时候可以用可选的返回值

let data = [1,2,3,4,5]
func getMaxAndMin(array:[Int])->(max:Int,min:Int)?{
if array.isEmpty{
return nil
}

var max = array[0]
var min = array[0]

for number in array{
if number > max{
max = number
}

if min > number{
min = number
}
}

return (max,min)
}
print(getMaxAndMin(data)) //(5,1) 假如传入[] ,返回nil


参数的扩展名和本地名。本地名用于func本身内部调用,但是扩展名在方法调用中必须写上

func printSome(externName localName :String){
print(localName)
}
printSome(externName: "如果有扩展的名字,在这必须要写") //"如果有扩展的名字,在这必须要写


默认的参数

func defautParameter(parameter:Int = 12){
print("有默认的参数\(parameter)")
}
defautParameter() // "有默认的参数12"
defautParameter(10) //有默认的参数10


注:函数体内部也可以包含函数,函数也可以作为其他函数的参数或者是返回值来使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: