//============元组是个毛?============ //使用元组让一个函数返回多个值 该元组的元素可以用名词或者数字表示 func notUnderstand(scores:[Int]) -> (min:Int,max:Int,sum:Int){ let i = 0;let a = 100;let s = 101 let min = i let max = a let sum = s return (min,max,sum) } print(notUnderstand([1,2,3])) //-----(0,100,101) //函数可以带有可变个数的参数 这些参数在函数内部表现为数组的形式 func sum(numbers:Int...) -> Void{ for number in numbers{ print(number) } } sum() sum(1,3,4) /* 函数可以嵌套 被嵌套的函数可以访问外侧函数的变量 你可以使用嵌套函数来重构一个太长太复杂的函数 */ func returnFifteen() -> Int{ var y = 10 func add(){ y += 5 } add() return y } print(returnFifteen()) //函数还可以作为返回值 func makeIncrementer() -> (Int -> Int){ func addOne(number:Int) -> Int{ return 1 + number } return addOne } var increment = makeIncrementer() print(increment) //---Function print(increment(7)) //---8