1. 使用[]来创建数组跟字典
var occupations = [“Malcom”:”captain”];
2.要创建一个空数组或者字典,使用初始化方法
3,简写外部参数名用#作为前缀,这告诉swift使用这个参数名
作为局部和外部参数名
4.默认参数值:可以在函数体中为每个参数定义默认值,当参数被定义后,调用这个函数时可以忽略这个参数。
fun join(string s1:String, toString s2: String, withJoiner joiner:String = “ ”)
{
return ‘’’
}
5. 一个函数至多能有一个可变参数,而且时参数表中的最后一个
6.// 函数类型作为返回值
func stepForward(input: Int) -> Int
{
return input + 1;
}
func stepBackward(input: Int) -> Int
{
return input - 1;
}
func chooseStepFunction(backward: Bool) -> (Int) -> Int
{
return backward ? stepBackward : stepForward
}
/******************************************************************************************************************************************************************************/
闭包:与OC中的block比较相似
作用:可以捕获和存储其所在上下文中任意变量和常量的使用
闭包采取的形式
1.全局函数是一个有名字单不会捕获任何值的闭包
2.嵌套函数是一个有名字并且可以捕获其封闭函数域内值的闭包
3.闭包表达式是一个利用轻量级语法所写的可以捕获上下文中的变量的匿名闭包
闭包表达式
{ (parameter) -> returnType in
statements
}
闭包表达式语法可以使用常量,变量和inout类型作为参数,不提供默认值。在内连闭包表达式中,函数和返回值类型都写在大括号内。
闭包的函数题部分由关键字in引入。该关键字表示闭包参数和返回值类型定义已经完成,闭包函数体即将开始
func makeIncrementor(forIncrement amount: Int) -> () -> Int
{
}
forIncrement为外部命名,amount为内部命名