import UIKit
let age = 19
// 判断age在0~19之间,并且还要大于18
if case 0 ..< 20 = age, age > 18{ // if case表示用逗号表示同时满足
print("aaa")
}
// 解包,x为第一项的值,并且x还要在2~5之间
let vector = (4, 0)
if case (let x, 0) = vector, x >= 2 && x <= 5 {
print("bbb")
}
// 输出1~10之间能被三整除的数
for case let i in 1...100 where i % 3 == 0 { // 这里不能用逗号替代where
print(i)
}
import UIKit
var errorMessage: String! = nil // 隐式的可选型
errorMessage = "not found"
let newString = "The message is " + errorMessage // 这里的errorMessage不用打!号,因为他是隐式可选型,直接使用
print(newString)
import UIKit
class City {
let cityName: String
unowned var country: Country
init(cityName: String, country: Country) {
self.cityName = cityName
self.country = country
}
}
class Country {
let countryName: String
var capitalCity: City! //隐式可选型,这里是可以为nil的,如果不加感叹号,那么在下面的构造函数中就一定要完全传入有值的参数,而传入的是self,就进入了死循环,所以要加上!表示只要countryName有值self就可以有值了,就不会报错了
init(countryName: String, capitalCityName: String) { // 构造函数穿进去两个参数都是字符串
self.countryName = countryName
self.capitalCity = City(cityName: capitalCityName, country: self) // 首都的构造函数,country传入的是自己
}
func showInfo() {
print("This is \(countryName).")
print("The capital is \(capitalCity.country).")
}
}
let china = Country(countryName: "China", capitalCityName: "Beijing")
china.showInfo()
5. sort和sorted
import UIKit
var arr = [Int]()
for _ in 0 ..< 1000 {
arr.append(Int(arc4random() % 1000))
}
arr.sort() // 没有返回值,同时改变arr
arr
arr.sorted() // 返回排序后的数组,同时改变arr
arr
1. case let where if 等一些关键字之间的语法糖import UIKitlet age = 19// 判断age在0~19之间,并且还要大于18if case 0 ..&lt; 20 = age, age &gt; 18{ // if case表示用逗号表示同时满足 print("aaa")}// 解包,x为第一项的值,并且x还要在2~5之间le...