swift2.0 语法新特性(1)

控制流语句

1 repeat

repeat{

}while(     )

while()里是个Bool值,当true时重复执行repeat{.....}语句

 2 guard

guard 条件 else{

    return

}

当条件成立时执行后面,否则执行else里的语句,类似于if {}else {},但只有一个代码块


写了个实例

import Foundation

struct Gas {

var name:String = "35号"

var gaslitre:Int? = 100

}

//模拟行车

struct Car{

var distance  = 1000 //距目的地距

var gas:Gas? = Gas(name: "35", gaslitre: 100)

var state:Bool{return gas!.gaslitre > 0 && distance > 0} //行车状态 true行驶 false油量为零停止行驶

//行驶

mutating func drive(){

guard gas!.gaslitre > 0 && distance > 0 else{

print("停车")

return

}

distance -= 9

gas!.gaslitre! -= 1

//当油量为零时将油量赋值为空

if gas?.gaslitre == 0{

gas?.gaslitre = nil

}

print("距离目的地\(distance)~~~~剩余油量\(gas!.gaslitre)")

}

}

var car = Car()

//控制流 repeat “当行车状态为true的时候不断行驶”

repeat{

car.drive()

}while(car.state)

struct GasStation {

func refuel(let car:Car){

/*

guard 与 if 对比

把下面语句改为if:

if let gasname = car.gas?.name,let gaslitre = car.gas?.gaslitre{

print("正在加\(gasname)号汽油--\(gaslitre)升")

}else{

print("请提供加油信息")

}

区别:

guard更能准确表达信息

gasname,gaslitre在guard验证后可以在整个方法内使用,而if验证后只能在if语句块中使用

*/

guard let gasname = car.gas?.name else{

print("请问你需要的汽油型号?")

return

}

guard let gaslitre = car.gas?.gaslitre else{

print("请问需要多少升汽油")

return

}

print("正在加\(gasname)号汽油--\(gaslitre)升")

}

}

let gasstation = GasStation()

gasstation.refuel(car)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值