Swift初体验-控制流
来源:互联网 发布:淘宝达人刷一万粉丝 编辑:程序博客网 时间:2024/06/09 19:47
//: Playground - noun: a place where people can playimport UIKit/** 1. 条件操作: if & switch 2. 循环操作: for-in & for & while & repeat-while * 语句体的 {} 是 “必须的” */let individualScores = [75, 43, 103, 87, 12]var teamScore = 0for score in individualScores { if score > 50 { teamScore += 3 } else { teamScore += 1 }}print(teamScore)// 附加案例/** 可选值: Optional 1. 可选值表示,该值可能为空,也可能有确定的值 2. 可选值用 "?"来表示 3. 可以使用 ?? 来处理值缺失的情况 */var optionalStringValue:String? = nilprint(optionalStringValue == nil)optionalStringValue = "Hello"print(optionalStringValue == nil)var aOptionalArray :[String]? = nilvar aOptionalString : String? = nilprint(aOptionalArray ?? "可选值为空")print(aOptionalString ?? "可选值为空")aOptionalArray = ["roly", "bob", "rice"]print(aOptionalArray ?? "数组为空")// 测试打印可选项问题var bOptionStringValue : String? = "Bob"// print(bOptionStringValue)print(bOptionStringValue ?? "")print(bOptionStringValue!)print(bOptionStringValue as Any)/**if: 1. if 语句的必须是一个布尔表达式,没有非0即真的概念,if score {...} 是错误的 2. if 后面的 {} 是必须的 3. if let 可以处理值缺失情况,,可选值(Optional) 格式: if let 接受常量 = 可选值 { // 如果可选值不为 nil, 就会执行此处代码,并且可选值会赋值给 “接受常量” // “接受常量” 作用域仅仅在这个代码块之间 }*/var optionalString : String? = "Hello"print(optionalString == nil)var optionalName : String? = "John Appleseed"var greeting = "Hello "if let name = optionalName { greeting = greeting + name}greeting// name/** switch: 1. switch 可以比较任意的类型的数据 // 2. switch 必须要有可以被执行, default是必须的 fix:// 枚举里面写的swift 如果所有的条件都有的话, default 不是必须的 3. switch 的每个分之不需要break,匹配到对应的分支之后,switch会退出程序,不会继续向下执行,因此不需要在每个分之后 添加 break */let vagetable = "celery"switch vagetable {case "celery": print("add some raisins and ants on a log") print("excute 2 lines Code")case "cucumber", "watercress": print("That would make a good tea sandwich")case let x where x.hasPrefix("pepper"): print("Is it a spicy \(x)?")default: print("Everything tastes good in soup.")}/** for-in: 遍历数组和字典 */let interestingNumbers = [ "Prime" : [2,3,5,7,11,13], "Fibonacci" : [1,1,2,3,5,8], "Square" : [1,4,9,16,25],]var largest = 0var interestingName : String? = nilfor (kind, numbers) in interestingNumbers { for number in numbers { if number > largest { interestingName = kind largest = number } }}print("The largest number is \(largest), equal name is \(interestingName ?? "")")/** while: 当满足条件的时候才会执行 repeat-while: 至少会执行一次 */var n = 2while n < 100 { n *= 2}print(n)var m = 2repeat { m = m * 2} while m < 100print(m)/**..<:[), 前闭后开区间... [] 前闭后闭的区间 */var total = 0for i in 0..<4 { total += i // 0 + 1 + 2 + 3}print(total)var sum = 0for i in 0...4 { sum += i // 0 + 1 + 2 + 3 + 4}print(sum)
0 0
- Swift初体验-控制流
- Swift-Swift初体验
- Swift初体验 (一)
- Swift初体验(二)
- Swift初体验(三)
- Swift初体验
- swift初体验
- swift初体验
- Swift初体验
- Swift之初体验
- Swift 初体验之一
- Swift初体验
- Swift初体验-泛型
- swift初体验
- 002--swift初体验
- Swift语法01.Swift初体验
- Swift 初体验之二
- Swift之初体验(二)
- ;(function(window, document, $) { 的作用及解释
- spring mvc+mybatis笔记(一)
- ubuntu16 vim 支持python
- openCV图像处理之重映射
- 模板笔记006 - 术语
- Swift初体验-控制流
- Exeution failed for task 解决方案
- awesome系列网址
- javascript面向对象
- STA优化
- Qt Stylesheets Button Bar
- java 五种创建对象的方法
- 卡巴斯基发布操作系统Kaspersky OS
- Swift初体验-函数与闭包