swift2.0 语法新特性(1)
2015-11-05 11:20
387 查看
控制流语句
1 repeat
repeat{
}while( )
while()里是个Bool值,当true时重复执行repeat{.....}语句
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)
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)
相关文章推荐
- <iOS>swift简单控件的创建
- Swift学习-基础的语法
- Openstack - cinder与swift、glance的区别
- 如何在xcode中上使用OC无缝调用Swift
- 如何用Swift实现一个好玩的弹性动画
- Swift下去除Navigationbar下方的横线
- swift学习Day02
- Swift 编程思想 Part 4:map all the things!
- Swift 中函数的用法
- Swift中的!和?
- Swift的结构体,枚举,可选Optional,可选链
- swift中的字符串的一些运用
- Swift的可选的和可选链
- Swift枚举代码
- swift 快速奔跑的兔几 本节的内容是:绘画第二讲~
- Swift学习笔记
- Swift学习:闭包(Closures)
- Swift(九、枚举)
- 详解Swift编程中的方法与属性的概念
- swift UIAlertController教程