swift函数_11_函数的嵌套使用
//: Playground - noun: a place where people can play import UIKit //---函数参数名----// //1.局部参数名:在函数的内部使用-->形参名 //同一个函数的局部参数名不能相同 func sum(firstNum:Int, secondNum:Int) -> Int { return firstNum + secondNum } sum(1, secondNum: 2) //2.外部参数名 func rectangleArea(W width:Double, H height:Double) -> Double { return width * height } //如果指定了外部参数名,则调用函数时要使用外部参数名 rectangleArea(W:17.4, H:20.1) //3.局部参数名和外部参数名最好不要重名,可以用_代替一个明确的参数名 func sendQQ(fromName from : String, _ to : String) -> String { return "\(from)给\(to)发送了条QQ信息" } sendQQ(fromName:"Kathy", "Tom") //4.函数带默认参数:使调用函数更灵活,如果传值没使用传递的值,如果没有实参,则使用默认值 func makeCoffee(type : String = "cuppcinno") -> String { return "制作了一杯\(type)咖啡" } makeCoffee() makeCoffee("NestCafe") //如果一个函数有多个参数,则带默认值的参数一般放在最后面 func studentInformation(stuNo no : String, stuName name : String, stuAge age : Int = 15) -> String { return "information:no(\(no)),name(\(name)),age(\(age)))" } studentInformation(stuNo: "1000", stuName: "kathy")
//: Playground - noun: a place where people can play import UIKit //---函数参数名----// //1.局部参数名:在函数的内部使用-->形参名 //同一个函数的局部参数名不能相同 func sum(firstNum:Int, secondNum:Int) -> Int { return firstNum + secondNum } sum(1, secondNum: 2) //2.外部参数名 func rectangleArea(W width:Double, H height:Double) -> Double { return width * height } //如果指定了外部参数名,则调用函数时要使用外部参数名 rectangleArea(W:17.4, H:20.1) //3.局部参数名和外部参数名最好不要重名,可以用_代替一个明确的参数名 func sendQQ(fromName from : String, _ to : String) -> String { return "\(from)给\(to)发送了条QQ信息" } sendQQ(fromName:"Kathy", "Tom") //4.函数带默认参数:使调用函数更灵活,如果传值没使用传递的值,如果没有实参,则使用默认值 func makeCoffee(type : String = "cuppcinno") -> String { return "制作了一杯\(type)咖啡" } makeCoffee() makeCoffee("NestCafe") //如果一个函数有多个参数,则带默认值的参数一般放在最后面 func studentInformation(stuNo no : String, stuName name : String, stuAge age : Int = 15) -> String { return "information:no(\(no)),name(\(name)),age(\(age)))" } studentInformation(stuNo: "1000", stuName: "kathy") //5.可变参数:Swift可以接收不确定数量的输入参数,这些参数必须有相同的类型 //func 函数名(可变参数名:可变参数类型...)->返回值 {} func addNumbers(Numbers:Double...) -> Double { var total : Double = 0 for number in Numbers { total += number } return total } //实参的个数是可变的 addNumbers() addNumbers(10.5) addNumbers(10.0,34.5,23.6) //一个函数中最多只能有一个可变参数,可变参数放在参数列表的最后 //6.常量参数和变量参数 //函数的参数默认为常量,如果想在函数体中改变参数的值,要将其设置为变量 func changeAge(var age : Int) -> Int { age += 5 return age } var myAge = 20 changeAge(myAge) print(myAge) //7.函数的参数传递 //两种形式:值传递(值类型)引用传递(引用类型) //值传递代表建立一个实参的副本,形参的改变不会影响到实参 //引用传递就是传递变量的地址,函数中对形参的改变实际就是对实参的改变 func swap(inout a : Int, inout b : Int) { let temp = a a = b b = temp } var one = 1, two = 2 swap(&one, &two) print(one) print(two) //inout参数实现了引用传递,类似于C语言中的指针 //inout参数不能是可变参数,也不能有默认值,不能再被var,let所标记
时光见证了成长,还很无知,我想一点点幼稚转为有知!