//: Playground - noun: a place where people can play import UIKit /* 5. 类型推导 1> 如果在定义一个标识符时,有直接给该标识符进行赋值,那么可以将标识符后面的类型省略掉 2> 编译器会根据我们后面赋值的类型,推导出前面标识符的类型,这个过程就叫做类型推导 3> 可以通过 option + 鼠标左键 来查看标识符的类型 */ let a = 20 let view = UIView() /* 6. swift 基本运算 1> let result = m + n 错误写法 类型要统一,才能运算 */ let m = 20 let n = 12.3 let result = m + Int(n) let result2 = Double(m) + n let c : Double = 2.44 let s : CGFloat = 3.85 let sums = c + Double(s) /* 7. swift 逻辑分支 if 1> if 后面的()可以省略掉 2> 没有非0(nil)即真 Bool (ture/false) */ /* 8. swift 逻辑分支 guard swift 2.0出来的语法,增强可读性 1> if 后面的()可以省略掉 2> 没有非0(nil)即真 Bool (ture/false) */ let age = 20 /* func online(age : Int) { if age >= 18 { print("可以上网") }else { print("回家去") } } */ //官方推荐优先使用guard,不要用if /* func online(age : Int){ // guard:守卫 //1.判断是否大于18 guard age >= 18 else { print("回家去") return } // 2. guard 回家带身份证 else { print("回家去") return } guard 是否带了钱 else { print("回家拿钱") return } // 2. print("可以上网") } */ /* 9. switch 基本使用 swift 2.0出来的语法,增强可读性 1> switch 后面的()省略 2> case语句结束时,可以不加break */ let sex = 0 switch sex { case 0: print("男") case 1: print("女") default: print("其他") } /* 1> case 可以判断多个条件 2> case 结束时,可以用fallthrough 进行穿透 */ switch sex { case 0,1: print("男") fallthrough case 1: print("女") default: print("其他") } /* 1> swift 判断其他类型 2> 判断浮点型 3> 判断字符串 4> 区间判断 */ /*let g = 3.14 switch sex { case 3.14: print("男") fallthrough case 1: print("女") default: print("其他") } let opraterStr = "+" switch sex { case "+": print("男") fallthrough case "-": print("女") default: print("其他") }*/ /* swift for 循环 1> 3.0只支持区间遍历 */ //0...9 for i in 0..<10 { print(i) } for b in 0..<10 { print(b) } //打印10次hello world // 在swift开发中,如果一个变量/常量暂停不会使用,那么可以使用_来代替 for _ in 0..<10 { print("hello world") }