- swift函数的不同点
- 无返回值的函数的三种写法
- 返回元组数据
- 外部参数名
- 外部参数名的简写
- 默认参数值,有默认参数值的时候,系统会自动的将参数名当成外部参数名。
- 在有默认的参数值的情况下,增加一个下划线_,系统会忽略掉外部参数名
- 函数的形参默认是常量,想要在函数体的内部改变形参的值,将其设置成var即可
- 输入输出参数及其注意点
//: Playground - noun: a place where people can playimport UIKit// sum函数名,num1和num2参数名,箭头后面的Int是返回类型func sum(num1: Int, num2: Int) -> Int { return num1 + num2}sum(1, 2)// 无返回值的函数的三种写法func noRe1() -> Void {}func noRe2() -> () {}func noRe3(){}// 返回元组数据func getPoint() -> (Int, Int) { return (10, 10)}func getPerson(id: Int) -> (name: String, age: Int){ if id > 0 { return ("jack", 20) } else { return ("nobody", 10) }}var person = getPerson(10)println("name: \(person.name), age: \(person.age)")// 外部参数名,这里分别为name,age,no设置了外部参数名,stu_name,stu_age,stu_no// 作用,方便阅读func addStudent(stu_name name:String, stu_age age:Int, stu_no no:Int) { println("name: \(name), age: \(age), no:\(no)")}addStudent(stu_name: "jack", stu_age: 10, stu_no: 20)// 外部参数名的简写,在内部形参名的前面加上#号,这样内部形参名就也可以充当外部参数名func addStudent2(#name: String, #age: Int, #no: Int) { println("name: \(name), age: \(age), no:\(no)")}addStudent2(name: "Tom", age: 20, no: 222)// 默认参数值// 这里给age了一个默认值,所以调用的时候,不写也行// 有默认参数的形参,系统会给其提供一个外部参数名,和内部形参参数名相同func addStudent3(#name: String, age: Int = 20) { println("name: \(name), age: \(age)")}addStudent3(name: "Smith")addStudent3(name: "Hello", age: 10)// 在有默认参数名前增加一个下划线_,系统会忽略掉外部参数名func addStudent4(name: String, _ age: Int = 20) { println("name: \(name), age: \(age)")}addStudent4("A", 2)// 函数的形参默认是常量,如果想在函数的内部修改形参的值,将形参设置成var即可func addStr(var initStr: String, suffix: String, num: Int) -> String { for _ in 0..(sum: Int, minus: Int) { return (num1 + num2, num1 - num2)}var result = sumAndMinus(10, 20)result.sumresult.minus// 输入输出函数写法func sumAndMinus2(num1: Int, num2: Int, inout sum:Int, inout minus:Int) { sum = num1 + num2 minus = num1 - num2}var sum1 = 0var minus1 = 0sumAndMinus2(20, 10, &sum1, &minus1)sum1minus1