标签语句
用于循环嵌套较多的时候break或continue跳出指定循环
gameloop : while (当前棋格 != 总格数) {
if (++色子 == 7) {
色子 = 1
}
println(“色子现在是(色子)”)
switch 当前棋格 + 色子 {
case 总棋格 : break gameloop //结束整个gameloop循环,而不是结束当前循环
case let 新棋格 where 新棋格 > 总棋格 : continue gameloop //注意这里不能这样写:case (当前棋格 + 色子 > 新棋格) : gameloop ,这样写是不对的,因为case中不能是判断语句必须是一个值,而(当前棋格 + 色子 > 新棋格)只是一个判断语句(结果是true或者false),并不是一个值。
default :
var 前进步数 = 棋盘[当前棋格]
当前棋格 += 前进步数
当前棋格 += 色子
if (前进步数 > 0) {
println(“恭喜遇到云梯,前进(前进步数)!”)
} else if (前进步数 < 0) {
println(“很遗憾遇到蛇,后退(-前进步数)!”)
}
}
}
函数的定义和调用
func 问候(大名:String) -> String { // -> 返回值类型
let 欢迎词 = “欢迎你,(大名)!”
return 欢迎词
}
println(问候(“老镇”))
println(问候(“小芳”))
形式参数和返回值
多参和无参
func 半开区间长度(起始:Int,终止:Int) -> Int {
return 终止 - 起始
}
println(半开区间长度(1,100))
func 我在做什么() -> String {
return “我在学习”
}
println(我在做什么())
无返回值
func 显示并计数(一个字符串:String) -> Int {
println(一个字符串)
return countElements(一个字符串)
}
显示并计数(“swift”)
多返回值
func 取极值(整数组: [Int]) -> (Int,Int) {
var 最大值 = 整数组[0]
var 最小值 = 整数组[0]
for 组员 in 整数组[1..<整数组.count] {
if 组员 > 最大值 {
最大值 = 组员
} else if 组员 < 最小值 {
最小值 = 组员
}
}
return (最大值,最小值)
}
let (max,min)取极值([-20,343,123412,-1234,11,88])
可选元祖返回 func 取极值(整数组: [Int]) -> (Imax: Int,min: Int)? { if 整数组.isEmpty {return nil} var 最大值 = 整数组[0] var 最小值 = 整数组[0] for 组员 in 整数组[1..<整数组.count] { if 组员 > 最大值 { 最大值 = 组员 } else if 组员 < 最小值 { 最小值 = 组员 } } return (最大值,最小值) } if let 临时整数组 = 取极值([-20,88]) { println(“最大值是(临时整数组.max),最小值是(临时整数组.min)”) }