美文网首页
swift语法记录-之流程控制

swift语法记录-之流程控制

作者: LiuffSunny | 来源:发表于2020-04-13 20:58 被阅读0次

    if-else

    image.png
    如图所示:
    ***if后面条件的小括号可以省略
    if后面大括号不可以省略
    image.png
    在以前的OC中,if非0是可以这样写的,但是swift后面if条件只能是bool类型

    while

    image.png
    var age = 10
    age++// 这样写在swift中会报错
    ++age  + ++age //这样的代码在不同的编译器里面会有不同的结果,所以在swift3.0 之后不再支持此类运算符
    

    for

    image.png
    _代表忽略i的值

    for-区间运算符应用在数组上

    image.png
    单测区间:省略的一方的限制在于数组的最大索引或最小索引,例如:names最大是3,第一个for循环就是2到3,第二个是0到2
    image.png
    如果区间运算符不受数组的限制,range就是负无穷到5使用contains方法可以验证是否包含

    区间类型

    image.png

    注意点:

    let str = "a"//默认是string类型
    let c : Charactor = "a"//这样才是字符类型
    

    所以在图中,stringRange2默认是string类型

    image.png

    带区间的间隔值

    image.png stride函数的使用,如果hours = 10,10也是会被遍历出来,( 默认是闭区间)

    switch

    image.png
    相当于每个case后面默认写了break,如果想要贯穿就要加fallthrough

    fallthtrough

    image.png

    switch注意点

    image.png
    deefault后面必须加break,加分号也会报错.
    image.png
    枚举的取值范围是确定的,因此可以不加default

    复合条件

    也就是两个条件执行一样的代码
    1.fallthrough 2. case后面用逗号分隔

    image.png

    区间匹配,元祖匹配

    image.png

    值绑定

    image.png
    值绑定只要求有一个匹配,0是可以匹配的,let x就是将2传进去

    where

    image.png
    这里的where是判断num是否符合条件决定要不要进大括号里面的,相当于continue而不是break.

    标签语句

    给for循环打上一个标签,内层循环想跳出,可以直接使用标签

    outer : for i in 1...4 {
        for k in 1...4 {
            if k == 3 {
                continue outer
            }
            if i == 3 {
                break outer
            }
            print("i == \(i)","k == \(k)")
        }
    }
    打印结果:
    i == 1 k == 1
    i == 1 k == 2
    i == 2 k == 1
    i == 2 k == 2
    

    相关文章

      网友评论

          本文标题:swift语法记录-之流程控制

          本文链接:https://www.haomeiwen.com/subject/knvgmhtx.html