逐条解释一下,熟悉 “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