1.Tuple:元组
与数组类似,但是是圆括号()
元组里面类型可能不相同,如:
var t1:(Int,Int,Double) = (2,4,6.5)
print(t1)
2.元组通过点号加位置获取数据
通过元组可以返回多个值,如:(a,b,c)
元组个数不可更改
元组类型由元素类型决定

3.数组:dynamicType 显示类型
4.AnyObject 只能调用class类型
5.函数名去掉就是闭包
6.泛型:为了解决类型未定
push:放入
pop:取出

class Stack<T> {
var container = T
func push(a:T) {
container.append(a)
}
func pop() -> T {
return container.removeLast()
}
}

let m = Stack<Int>()

m.push(24)
m.push(36)

print(m.pop())
print(m.pop()) //36 24

7.泛型函数/模板函数
func printM<A> (a:A){
print(a)
}

printM(1.2)
printM("明天")
8.lazy:
懒加载,只有在使用的时候才加载或者初始化,即第一次使用才加载,接下来再去调用,不在执行初始化,只执行返回值,注意后面有个(),莫忘
class Animal {
lazy var name:String = {
print("正准备吃饭")
return "天真热"

}()

}
let ll = Animal()
print(ll.name)
print(ll.name)
//正准备吃饭
天真热
天真热
9.defer:
延时执行,跟栈类似,先进后出
func delayCall(){
var m1 = 10
defer{
print("AAA",m1)

// if m1 != 0 {
// fatalError()
// }
}
m1 = 20
defer{
print("BBB",m1)

}
m1 = 30 //相当于最后给m1赋值为30,然后再执行两个defer函数
print("A",m1)
print("B",m1)

}

delayCall()
//A 30
B 30
BBB 30
AAA 30

10.Any,AnyObject:
Any:任意类型,包括struct,class
AnyObject:任意对象类型,只包括class

11.final:修饰方法,不能在子类中被重写
class A {
final func eat() {

}

}

class B:A {
override func eat() {

}

}

注意:会报错,去掉final即可

12.@autoclosure:自动将表达式封装成闭包
func guess(@autoclosure m:() -> Bool) {
if m() {
print("true")
}
else{
print("false")
}
}

guess(10 > 9)
//true
13.inout:通过参数返回函数中的值
func swapAB(inout w:Int,inout r:Int) {
(w,r) = (r,w)
}

swapAB(&w, r: &r)

print(w,r)

14.泛型(Genercis):
用类型占位符来增加代码的重用性。
分为泛型函数与泛型类。
func printM<A> (a:A){
print(a)
}

printM(1.2)
printM("明天")

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 9,247评论 0 6
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 9,451评论 1 10
  • 没有自由 没有恐惧 只有 思念和孤独。 整个人被寂静包围
    AmNobody阅读 1,384评论 0 0
  • 你在三万英尺的高空中张开了双臂 拥抱湛蓝的苍穹 那是章鱼触角般柔软的拥抱 俯瞰西边的绯红云霞里 落日而息的农夫扛着...
    豆腐先森阅读 2,985评论 7 2
  • 人在职场走,难免会挨刀。如果能得到领导的赏识,一切就大不一样了。俗话说近水楼台先得月,向阳花木易为春,和领导走得近...
    于一潇阅读 3,613评论 2 6