搜索
您的当前位置:首页正文

05Swift基本语法(控制流)

来源:哗拓教育

1. if

  • Swift 中没有 C 语言中的非零即真概念
  • 在逻辑判断时必须显示地指明具体的判断条件 true/false
  • if 语句条件的 () 可以省略
  • {} 不能省略
let num = 200
if num < 10 { 
    print("比 10 小")
} else if num > 100 { 
    print("比 100 大")
} else { 
    print("10 ~ 100 之间的数字")
}

2. 三目运算

Swift 中的 三目, 运算保持了和 OC 一致的风格

var a = 10
var b = 20
let c = a > b ? a : b
print(c)

3. Switch

  • switch 不再局限于整数,switch 可以针对任意数据类型进行判断
  • 不再需要 break
  • 每一个 case后面必须有可以执行的语句
  • 要保证处理所有可能的情况,不然编译器直接报错,不处理的条件可以放在 default 分支中
  • 每一个 case 中定义的变量仅在当前 case 中有效,而 OC 中需要使用 {}
let score = "优"

switch score {
case "优": 
    let name = "学生" 
    print(name + "80~100分")
case "良": print("70~80分")
case "中": print("60~70分")
case "差": print("不及格")
    default: break
}

4 switch 中同样能够赋值和使用 where子句

let point = CGPoint(x: 10, y: 10)
switch point {
case let p where p.x == 0 && p.y == 0: 
    print("中心点")
case let p where p.x == 0: 
    print("Y轴")
case let p where p.y == 0: 
    print("X轴")
case let p where abs(p.x) == abs(p.y): 
    print("对角线")
default: 
    print("其他")
}

如果只希望进行条件判断,赋值部分可以省略

switch score {
    case _ where score > 80: print("优")
    case _ where score > 60: print("及格")
default: 
    print("其他")
}

5. for 循环

5.1 OC循环
var sum = 0
for var i = 0; i < 10; i++ { 
    sum += i
}
print(sum)
5.2 Swift
//for-in,0..<10 表示从0到9
sum = 0
for i in 0..<10 { 
    sum += i
}
print(sum)
5.3 范围 0...10 表示从0到10
sum = 0
for i in 0...10 { 
    sum += i
}
print(sum)
5.4 省略下标
  • 能够匹配任意类型

  • 表示忽略对应位置的值

    for _ in 0...10 { 
         print("hello")
    }
    
Top