Swift程序有两类注释:单行注释(//)和多行注释(/*...*/)。注释方法与C、C++和Objective-C语言都是类似的,下面详细介绍一下。
1. 单行注释
单行注释可以注释整行或者一行中的一部分,一般不用于连续多行的注释文本。当然,它也可以用来注释连续多行的代码段。以下是两种注释风格的例子:

  1. if x > 1 {
  2. //注释1
  3. } else {
  4. return false; //注释2
  5. }
  6. //if x > 1 {
  7. //    //注释1
  8. //} else {
  9. //    return false; //注释2
  10. //}
  11. 提示  在Xcode中对连续多行的注释文本可以使用快捷键:选择多行然后按住“command+/”键进行注释。去掉注释也是按住“command+/”键。
  12. 2. 块注释
  13. 一般用于连续多行的注释文本,但也可以对单行进行注释。以下是几种注释风格的例子:
  14. if x > 1 {
  15. /* 注释1 */
  16. } else {
  17. return false; /* 注释2 */
  18. }
  19. /*
  20. if x > 1 {
  21. //注释1
  22. } else {
  23. return false; //注释2
  24. }
  25. */
  26. /*
  27. if x > 1 {
  28. /* 注释1 */
  29. } else {
  30. return false; /* 注释2 */
  31. }
  32. */

提示 Swift多行注释有一个其他语言没有的优点,就是可以嵌套,上述示例的最后一种情况便实现了多行注释嵌套。
在程序代码中,对容易引起误解的代码进行注释是必要的,但应避免对已清晰表达信息的代码进行注释。需要注意的是,频繁的注释有时反映了代码的低质量。当你觉得被迫要加注释的时候,不妨考虑一下重写代码使其更清晰。
表达式
表达式是程序代码的重要组成部分,在Swift中,表达式有3种形式。
1. 不指定数据类型
var a1 = 10
let a2 = 20
var a = a1 > a2 ? "a1" : "a2"
在上述代码中,我们直接为变量或常量赋值,并没有指定数据类型,因为在Swift中可以自动推断数据类型。
2. 指定数据类型
var a1:Int  = 10
let a2:Int = 20
var a = a1 > a2 ? "a1" : "a2"
在上述代码中,:Int是为变量和常量指定数据类型。这种写法使程序可读性良好,我们推荐明确指定变量和常量的数据类型。
3. 使用分号
var a1:Int = 10; var a2:Int = 20
var a = a1 > a2 ? "a1" : "a2"
在Swift语言中,一条语句结束后可以不加分号也可以添加分号,但是有一种情况必须要用分号,那就是多条语句写在一行的时候,需要通过分号来区别语句。例如:
var a1:Int = 10; var a2:Int = 20;

更多内容请关注国内第一本Swift图书《Swift开发指南》
本书交流讨论网站:http://www.51work6.com/swift.php
欢迎加入Swift技术讨论群:362298485

欢迎关注智捷iOS课堂微信公共平台

Swift中的注释以及表达式的更多相关文章

  1. Swift中UITableView的简单使用

    Swift中的注释 使用"// MARK:- 注释内容",对属性或方法进行注释 使用"///注释内容"对属性或方法提供调用说明的注释 使用extension对同 ...

  2. Swift中的Void类型与空元祖表达式

    可能有不少Swift开发者会忽略这么一个细节:在Swift中,Void类型其实是一个别名类型,而其真正的类型为(),即一个空元祖(empty tuple)! 这种语言特性给Swift带来了一些比较方便 ...

  3. [Swift通天遁地]五、高级扩展-(14)扩展String快速计算字符串中的各种数学表达式

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  4. swift中闭包的学习。

    在swift中的闭包等同于OC中的block,它的用途就是在于可以包装一段代码在必要的时候进行调用. 闭包定义:  {(类型列表) -> 返回值 in // 多条swift语句 // 执行代码 ...

  5. Swift中的可选链与内存管理(干货系列)

    干货之前:补充一下可选链(optional chain) class A { var p: B? } class B { var p: C? } class C { func cm() -> S ...

  6. [翻译]理解Swift中的Optional

    原文出处:Understanding Optionals in Swift 苹果新的Swift编程语言带来了一些新的技巧,能使软件开发比以往更方便.更安全.然而,一个很有力的特性Optional,在你 ...

  7. 在Swift中应用Grand Central Dispatch(下)

    在第一部分中, 你学到了并发,线程以及GCD的工作原理.通过使用dispatch_barrrier和dispatch_sync,你做到了让 PhotoManager单例在读写照片时是线程安全的.除此之 ...

  8. 在Swift中应用Grand Central Dispatch(上)转载自的goldenfiredo001的博客

    尽管Grand Central Dispatch(GCD)已经存在一段时间了,但并非每个人都知道怎么使用它.这是情有可原的,因为并发很棘手,而且GCD本身基于C的API在 Swift世界中很刺眼. 在 ...

  9. Swift中的循环语句

    循环语句能够使程序代码重复执行.Swift编程语言支持4种循环构造类型:while.do while.for和for in.for和while循环是在执行循环体之前测试循环条件,而do while是在 ...

随机推荐

  1. Python3向网页POST数据

    还是以我的网页iciba为例 POST数据到www.selflink.cn/iciba/get0.php获取返回的查询结果 #coding:utf8 import urllib.request imp ...

  2. OOP设计模式[JAVA]——03职责链模式

    职责链模式 Responsibility of Chain 在职责链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链.请求在这个链上传递,直到链上的某一个对象决定处理此请求.发出这个请求 ...

  3. Actions 动作集

    --> 移动鼠标到指定位置(先触发onMouseOver动作)        Actions action = new Actions(driver);        WebElement th ...

  4. android常见错误-E/AndroidRuntime(13678): java.lang.NoClassDefFoundError:

    08-01 11:09:39.791: E/AndroidRuntime(13678): FATAL EXCEPTION: main 08-01 11:09:39.791: E/AndroidRunt ...

  5. sublime自定义snippet代码片段

    相信很多人喜欢sublime编辑工具有两个原因:第一sublime很轻巧方便:第二sublime提供很多自定义拓展功能,包括很简单且和很好用的代码片段功能snippet文件. 今天,在这里就介绍下su ...

  6. [React] Styling React Components With Aphrodite

    Aphrodite is a library styling React components. You get all the benefits of inline styles (encapsul ...

  7. Linux守护进程(init.d和xinetd)

    http://www.cnblogs.com/itech/archive/2010/12/27/1914846.html

  8. 怎样用通用pe工具箱制作U盘启动盘

    U盘启动盘制作过程,随着网络的普及,电脑已经成为我们日常生活中的重要一环,最近自己重装了下电脑系统,无意中发现一个傻瓜式的U盘装系统方法,就把怎么制作通用pe工具箱u盘启动盘的经验拿出来跟大家分享下. ...

  9. mysql中 case when的使用

    SELECT a.hsid, a.house_code, a.sale_date, a.pjid, COUNT( sdid ) AS num, b.hsid, b.pscid, b.hscode, b ...

  10. Socket的使用

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import jav ...