您所在的位置: 首页 > 教程首页 > 新闻资讯 > 苹果Swift语言入门教程
let vegetable = "red pepper"
switch vegetable {
case "celery":
let vegetableComment = "Add some raisins and make ants on a log."
case "cucumber", "watercress":
let vegetableComment = "That would make a good tea sandwich."
case let x where x.hasSuffix("pepper"):
let vegetableComment = "Is it a spicy \(x)?"
default: //by gashero
let vegetableComment = "Everything tastes good in soup."
}
Note
练习
尝试去掉 default ,看看得到什么错误。
在执行匹配的情况后,程序会从 switch 跳出,而不是继续执行下一个情况。所以不再需要 break 跳出 switch 。
可使用 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 = 0
for (kind, numbers) in interestingNumbers{
for number in numbers {
if number > largest
{
largest = number
}
}
}
Note
练习
添加另一个变量来跟踪哪个种类中的数字最大,也就是最大的数字所在的。
使用 while 来重复执行代码块直到条件改变。循环的条件可以放在末尾来确保循环至少执行一次。
var n = 2
while n < 100
{
n = n * 2
}
n
var m = 2
do {
m = m * 2
}
while m < 100
m
你可以在循环中保持一个索引,通过 ".." 来表示索引范围或明确声明一个初始值、条件、增量。这两个循环做相同的事情:
var firstForLoop = 0
for i in 0..3 {
firstForLoop += i
}
firstForLoop
var secondForLoop = 0
for var i = 0; i < 3; ++i {
secondForLoop += 1
}
secondForLoop
使用 .. 构造范围忽略最高值,而用 ... 构造的范围则包含两个值。
5 函数与闭包
使用 func 声明一个函数。调用函数使用他的名字加上小括号中的参数列表。使用 -> 分隔参数的名字和返回值类型。
func greet(name: String, day: String) -> String {
return "Hello \(name), today is \(day)."
}
greet("Bob", "Tuesday")
Note
练习
去掉 day 参数,添加一个参数包含今天的午餐选择。
使用元组(tuple)来返回多个值。
func getGasPrices() -> (Double, Double, Double) {
return (3.59, 3.69, 3.79)
}
getGasPrices()
函数可以接受可变参数个数,收集到一个数组中。
func sumOf(numbers: Int...) -> Int {
var sum = 0
for number in numbers {
sum += number
}
return sum
}
sumOf()
sumOf(42, 597, 12)
Note
练习
编写一个函数计算其参数的平均值。
函数可以嵌套。内嵌函数可以访问其定义所在函数的变量。你可以使用内嵌函数来组织代码,避免过长和过于复杂。
func returnFifteen() -> Int {
var y = 10
func add()
{
y += 5
}
add()
return y
} //by gashero
returnFifteen()
函数是第一类型的。这意味着函数可以返回另一个函数。