zoukankan      html  css  js  c++  java
  • Swift(二)控制流

    要处理条件逻辑,使用 if 和 switch ,要处理循环逻辑,使用 for-in, for, while, 和 do-while 。包着条件或者循环的括号可加可不加。处理逻辑体的花括弧是必须加的。
     

    注意

    以上代码,temaScore自己占了一行代码。这是在playground里看变量值的简单方法。

    在if语句里,条件必须是一个Boolean表达式——意思是像 if score { … } 这种写法是错的,因为不能隐式地转换为0值。

    你可以把 if 和 let 一起使用来处理可能不明确的值。这些值表示为可选值。可选值要么包含一个值,要么包含 nil ,表明这个值是不明确的。在值的类型后加上问号 (?) 来标记这个值是可选的。



    试一试

    将 optionalName 改为 nil。 greeting 是什么值? 再加一个 else 
    语句,如果 optionalName 是 nil ,将 greeting 设置一个不同的值。

    如果可选值是 nil ,条件就为false,花括弧里的代码就会被跳过。否则,可选值被开启(unwrapped,博主注:这里的unwrapped实在不知道该如何翻译更好,这个词的原意为打开、展开,直接翻译过来感觉怪怪的,暂时称之为开启吧,貌似有的文章翻译为解析)并赋给 let 后面的常量,这个常量就可以使的开启值用在代码块里了。

    switch支持任何种类的数据和大量的比较操作——可并不是只限于整型和测试是否相等。

    试一试

    试试把default那一部分去掉。看看会有什么错误?

    注意看一下 let 是怎么用来将匹配模式部分的值赋给常量的。

    匹配switch case 的代码执行完以后,程序从switch语句跳出。不会执行下一个case,所以没有必要在每个case结束部分代码处显示的跳出switch。

    通过提供一组用于各个键值对的名称,用 for-in 来遍历字典。字典是无序集合,所以它们的键和值通过字母表顺序来进行遍历。

    试一试

    增加一个变量来追踪哪种数是最大的,还有这个最大的数是多少

    用 while 来重复执行一段代码直到条件改变。循环的条件也可以放到最后,以保证循环至少执行一次。




    你可以在循环里维持一个索引——要么使用 ..< 创建一套索引或者要么写一个显示的初始化、条件和递进。这两种循环是一样的:


    用 ..< 创建的索引忽略最大值,用 … 创建的索引包含最大值。
  • 相关阅读:
    iOS开发-NSOperation与GCD区别
    FMDB数据库升级
    Xcode自动选择证书
    asp.net常用函数表
    JS操作文件
    Json转换插件
    SpringCloud分布式事务-Seata
    SpringCloud应对高并发的思路
    SpringCloud-Greenwich版本新特性探索(1)---SpringCloudGateway
    如何热更新线上的Java服务器代码
  • 原文地址:https://www.cnblogs.com/496668219long/p/4492236.html
Copyright © 2011-2022 走看看