逐条解释一下,熟悉 “as”的用法,是“as”,不是“as?”和 “as!”:
for thing in things {
switch thing {
case 0 as Int:
print("zero as an Int")
case 0 as Double:
print("zero as a Double")
case let someInt as Int:
print("an integer value of \(someInt)")
case let someDouble as Double where someDouble > 0:
print("a positive double value of \(someDouble)")
case is Double:
print("some other double value that I donot want to print")
case let someString as String:
print("a string value of \"\(someString)\"")
case let (x,y) as (Double,Double):
print("an (x,y) point at \(x),\(y)")
case let movie as Movie:
print("a movie called \(movie.name),dir.\(movie.director)")
case let stringConverter as (String) -> String:
print(stringConverter("Michael"))
default:
print("something else")
}
}
(1) 0 as Int
(2) 0 as Double