函数的格式:func 函数名(参数变量:类型, 参数变量: 类型...) ->返回类型{case; retrun 结果}
转化为浮点型的函数:Double()
参数类型为输入输出参数的代码:inout
函数的嵌套实例:
func chooseNumber(needBigger: Bool, number1: number2: Int){
func get smaller(){
print((number1 < number2)? number1: number2)
}
func get getBigger(){
print((number1 > number2)? number1: number2)
}
needBigger ? getBigger: getSmaller
}
函数的递归用法实例:
func recursion(n: Int) -> Int {
if n < 1 {
return 1
}else{
return recursion(n: n-1) + recursion(n: n-2)
}
}
print(recursion(n: 5) //输出结果:8
绝对值函数:abs()
最小值函数:min()
查找在数组元素中满足指定条件的元素的函数:.filter({条件})
将数组元素中每一个元素通过指定方法进行转换的函数:map({条件})
reduce函数实例:
var result = (1...4).reduce(0, combine: +)
print(result)
result = (1...4).reduce(0, combine: *)
print(result)
有些变量只有几种取值的选择称为枚举的代码:enum 枚举名称 {}
枚举值的遍历使用的函数:swith
结构体的代码:struct 结构名称 {}
类的代码:class 类名称 {}
类的初始化的代码:init(){}
类的设置与获取的代码:set(){}、get(){}
类的属性观察者的代码:willSet{}、didSet{}
结构体和枚举定义静态方法的关键字:static
类定义静态方法的关键字:class
类的静态方法省去了对类进行?:实例化的步骤
Swift和Objective-C一样通过?实现对实例的内存管理:自动引用计数(ARC)技术
类的继承中子类重写方法的关键字:override
父类的属性、下标或方法不希望被重写的关键字:final
类的延迟加载属性的关键字:lazy
延迟加载的意义:当一个类拥有一个重度且不经常使用的属性时,比如该属性是一个复杂的类,或者属性在初始化时需要从本地或网络加载所需的资源。此时在属性声明前使用lazy关键字,可将该属性标示为延迟加载的属性,只有在使用到该属性时,才会被加载,从而提高程序的运行效率。
Swift环境中,元组、枚举、结构体术语??,而类属于??:值属性;引用属性(实例化赋值)
类型检查_判断类型的关键字:is
类型检查_转换为对应的类型的关键泽:if-let 和 as语句
Swift的不确定的类型:AnyObject (anythings) 和 Any
扩展类型的关键字:extension
扩展功能的意义:动态地给类增加功能
协议的关键字:protocol
可选性Optional类型的可以为空的关键字:?
可选性Optional类型的不可以为空的关键字:!
网友评论