Swift 笔记(四)

前端之家收集整理的这篇文章主要介绍了Swift 笔记(四)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我的主力博客半亩方塘


Making Decisions


1、Consider this code:

let number = 10
switch (number) {
case let x where x % 2 == 0:
    print("Even")
default:
    print("Odd")
}  


This will print the following:

Even

This switch statement uses thelet-whereSyntax,meaning the case will match only when a certain condition is true. In this example,you've designed the case to match if the value is even-that is,if the value modulo 2 equals 0.

The method by which you can match values based on conditions is known aspattern matching.

2、Another way you can useswitchstatements to great effect is as follows:

let coordinates: (x: Int,y: Int,z: Int) = (3,2,5)
switch (coordinates) {
case (0,0):
    print("Origin")
case (_,0):
    print("On the x-axis.")
case (0,_,0):
    print("On the y-axis.")
case (0,_):
    print("On the z-axis.") 
default:
    print("Somewhere in space")
}  

You're using the underscore to mean that you don't care about the value. If you don't want to ignore the value,then you can use it in yourswitchstatement,like this:

let coordinates: (x: Int,0):
    print("Origin")
case (let x,0):
    print("On the x-axis at x = \(x)")
case (0,let y,0):
    print("On the y-axis at y = \(y)")
case (0,let z):
    print("On the z-axis at z = \(z)")
case (let x,let z):
    print("Somewhere in space at x = \(x),y = \(y),z = \(z)")  
}  


You can use the same let-where Syntax you saw earlier to match more complex cases. For example:

let coordinates: (x: Int,5)
switch(coordinates) {
case (let x,_) where y == x:
    print("Along the y = x line.")
case (let x,_) where y == x * x:
    print("Along the y = x^2 line.")
default:
    break
}
原文链接:https://www.f2er.com/swift/324524.html

猜你在找的Swift相关文章