Swift 提供了兩個(gè)方便表達(dá)一個(gè)區(qū)間的值的運(yùn)算符。
閉區(qū)間運(yùn)算符(a...b)定義一個(gè)包含從a到b(包括a和b)的所有值的區(qū)間。 閉區(qū)間運(yùn)算符在迭代一個(gè)區(qū)間的所有值時(shí)是非常有用的,如在for-in循環(huán)中:
for index in 1...5 {
println("\(index) * 5 = \(index * 5)")
}
// 1 * 5 = 5
// 2 * 5 = 10
// 3 * 5 = 15
// 4 * 5 = 20
// 5 * 5 = 25
關(guān)于for-in,請(qǐng)看控制流。
半閉區(qū)間(a..b)定義一個(gè)從a到b但不包括b的區(qū)間。 之所以稱為半閉區(qū)間,是因?yàn)樵搮^(qū)間包含第一個(gè)值而不包括最后的值。
半閉區(qū)間的實(shí)用性在于當(dāng)你使用一個(gè)0始的列表(如數(shù)組)時(shí),非常方便地從0數(shù)到列表的長(zhǎng)度。
let names = ["Anna", "Alex", "Brian", "Jack"]
let count = names.count
for i in 0..count {
println("第 \(i + 1) 個(gè)人叫 \(names[i])")
}
// 第 1 個(gè)人叫 Anna
// 第 2 個(gè)人叫 Alex
// 第 3 個(gè)人叫 Brian
// 第 4 個(gè)人叫 Jack
數(shù)組有4個(gè)元素,但0..count只數(shù)到3(最后一個(gè)元素的下標(biāo)),因?yàn)樗前腴]區(qū)間。關(guān)于數(shù)組,請(qǐng)查閱數(shù)組。