目录索引

清风注解-Swift程序设计语言

Point 11.

数值型字面量

代码事例:

let decimalInteger =            // 十进制的17
let binaryInteger = 0b10001 // 二进制的17
let octalInteger = 0o21 // 八进制的17
let hexadecimalInteger = 0x11 // 十六进制的17

注解:

  • 整数字面量可以被写作:十进制数,没有前缀;二进制数,前缀是 0b;八进制数,前缀是 0o;十六进制数,前缀是 0x。
  • 浮点数字面量可以是十进制(没有前缀)或者是十六进制(前缀是 0x)。
  • 浮点数字面量的小数点两边必须有至少一个十进制数字(或者是十六进制的数字)。
  • 十进制浮点数字面量有一个可选的指数,通过大写或者小写的 e 来指定。
  • 十六进制浮点数字面量必需包含指数,通过大写或者小写的 p 来指定。
  • let decimalDouble = 17.2e0        // 十进制浮点数的17.2
    let hexadecimalDouble = 0x11.2p0 // 十六进制浮点数的17.125
  • 如果一个十进制数的指数为 exp,那这个数相当于基数和 10^exp 的乘积。
  • 如果一个十六进制数的指数为 exp,那这个数相当于基数和 2^exp 的乘积。
  • 整数和浮点数字面量可以包括额外的格式(0 和下划线)来增强可读性,这些格式(0 和下划线)并不会影响字面量的实际值。
  • let paddedDouble = 000123.456
    let oneMillion = 1_000_000
    let justOverOneMillion = 1_000_000.000_000_1

Point 12.

数值型类型转换

代码事例:

let twoThousand: UInt16 = 2_000
let one: UInt8 =
let twoThousandAndOne = twoThousand + UInt16(one) 

注解:

  • 通常来讲,即使代码中的整数常量和变量已知非负,也请使用 Int 类型。
  • 使用默认的整数类型能保证整数常量和变量可以直接被复用,并且可以匹配整数类字面量的类型推断。
  • 使用显式指定长度的类型可以及时发现值溢出并且可以暗示正在处理特殊数据。
  • 不同整数类型的变量和常量可以存储不同范围的数字。
  • 如果数字超出了常量或者变量可存储的范围,编译的时候会报错。
  • 由于每种整数类型可以存储不同范围的值,所以必须根据不同情况选择性使用数值型类型转换。
  • 选择性使用类型转换的方式,可以预防隐式转换的错误并让你的代码中的类型转换意图变得清晰。
  • 要将一种数字类型转换成另一种,要用当前值来初始化一个期望类型的新数字,这个数字的类型就是目标类型。
  • 整数和浮点数的转换必须显式指定类型。
  • let three =
    let pointOneFourOneFiveNine = 0.14159
    let pi = Double(three) + pointOneFourOneFiveNine
  • 浮点数转换为整数时,浮点值(小数部分)会被截去。

Point 13.

类型别名

代码事例:

typealias AudioSample = UInt16          // UInt16的类型别名被定义为AudioSample
var maxAmplitudeFound = AudioSample.min // maxAmplitudeFound 现在是 0 

注解:

  • 类型别名就是给现有类型定义另一个名字。
  • 使用 typealias 关键字来定义类型别名。
  • 定义了一个类型别名之后,可以在任何能使用原始名的地方使用别名。

Point 14.

布尔值

代码事例:

let orangesAreOrange = true     // 值为真
let turnipsAreDelicious = false // 值为假 

注解:

  • 布尔值指逻辑上的真或假。
  • Swift 有两个布尔常量,true 和 false。
  • 如果在需要使用 Bool 类型的地方使用了非布尔值,Swift 的类型安全机制会报错。

Point 15.

元组

代码事例:

// http404Error 的类型是 (Int, String),值是 (404, "Not Found")
let http404Error = (, "Not Found") 

注解:

  • 元组是把多个值组合成一个复合值。
  • 元组内的值可以是任意类型,并不要求是相同类型,并且类型的顺序也是任意的。
  • 元组的内容可以分解成单独的常量和变量,然后你就可以正常使用它们了。
  • let (statusCode, statusMessage) = http404Error
    // 输出 "The status code is 404"
    println("The status code is \(statusCode)")
    // 输出 "The status message is Not Found"
    println("The status message is \(statusMessage)")
  • 如果你只需要一部分元组值,分解的时候可以把要忽略的部分用下划线(_)标记。
  • let (justTheStatusCode, _) = http404Error
    // 输出 "The status code is 404"
    println("The status code is \(justTheStatusCode)")
  • 可以通过下标来访问元组中的单个元素,下标从零开始。
  • // 输出 "The status code is 404"
    println("The status code is \(http404Error.0)")
    // 输出 "The status message is Not Found"
    println("The status message is \(http404Error.1)")
  • 可以在定义元组的时候给单个元素命名,并可以通过元素命名来获取元素的值。
  • let http200Status = (statusCode: , description: "OK")
    // 输出 "The status code is 200"
    println("The status code is \(http200Status.statusCode)")
    // 输出 "The status message is OK"
    println("The status message is \(http200Status.description)")
  • 元组可以作为函数的返回值使用。

作者:清风抚柳 (DashGeng)

出处:http://www.cnblogs.com/dashgeng/

    本文首发博客园,版权归作者所有,欢迎转载!
    未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,
    否则保留追究法律责任的权利。

清风注解-Swift程序设计语言:Point11~15的更多相关文章

  1. 清风注解-Swift程序设计语言

    前言 Apple 发布了全新的 Swift 程序设计语言,用来开发 iOS 和 OS X 平台的应用程序.其目的不言而喻:就是为了给老迈的 Objective-C 一个合适接班人!因此,不难预见,未来 ...

  2. 清风注解-Swift程序设计语言:Point6~10

    目录索引 清风注解-Swift程序设计语言 Point 6. 输出常量和变量 代码事例: // 输出的内容会在最后换行 println("hello, world") // 输出的 ...

  3. 清风注解-Swift程序设计语言:Point1~5

    目录索引 清风注解-Swift程序设计语言 Point 1. Swift 风格的"Hello, world" 代码事例: println("Hello, world&qu ...

  4. 《Swift程序设计语言》中国翻译和学习笔记page23

    ·<The Swift Programming Language>中文翻译及读书笔记,附件中为英文原版教程 因21页之前内容和技术关系不大,不做翻译整理,从第21页開始 · 页 1 本页主 ...

  5. C程序设计语言练习题1-5

    练习1-5 修改温度转换程序,要求以逆序(即按照从300度到0度的顺序)打印温度转换表. 代码如下: #include <stdio.h> // 包含标准库的信息. int main() ...

  6. C程序设计语言(第二版)习题:第一章

    第一章虽然感觉不像是个习题.但是我还是认真去做,去想,仅此而已! 练习 1-1 Run the "hello, world" program on your system. Exp ...

  7. awk程序设计语言之-awk基础

    awk程序设计语言之-awk基础 http://man.linuxde.net/ 常用工具命令之awk命令 awk是一种编程语言,用于在Linux/Unix下对文本和数据处理.数据可以来自标准输入(s ...

  8. 《C++程序设计语言(十周年纪念版)》【PDF】下载

    <C++程序设计语言(十周年纪念版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382171 内容简介 <C++程序设计 ...

  9. 《C++程序设计语言(英文第四版)》【PDF】下载

    <C++程序设计语言(英文第四版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382177 内容简介 本书是C++领域经典的参 ...

随机推荐

  1. shopncv4 短信接口 提供商 中国短信网

    前提是在后台开启手机注册功能:具体是在设置->账号同步->手机短信 里开启.   修改 siteroot\core\framework\libraries\sms.php   修改 sit ...

  2. struts2笔记11-OGNL

    1.OGNL Object-Graph Navigation Language,对象-图 导航语言,可以方便的操作struts2值栈对象 2.对象栈操作方法 (1)action普通属性的访问方法 &l ...

  3. shell script 零碎知识

    1.test命令的测试功能 -e  文件名是否存在 -f  文件名是否存在且为文件 -d  文件名是否存在且为目录 范例1    检查/dmtsai是否存在,存在输出 exist  不存在输出 Not ...

  4. ejs简单教程

    ejs learning nodejs的模板引擎有很多, ejs是比较简单和容易上手的.常用的一些语法: 用<%...%>包含js代码 用<%=...%>输出变量 变量若包含 ...

  5. rsyslog 日志服务器端配置

    $EscapeControlCharactersOnReceive off #关闭rsyslog默认转译ASCII<32的所有怪异字符,包括换行符等 $template tocFormat,&q ...

  6. InputStream读取文件到string后OutputStream到文件,按String和Bytes拷贝

    http://www.iteye.com/problems/72150 写了一段代码 大体是 InputStream读取文件到string后OutputStream到文件 遇到的问题为TXT文件大小格 ...

  7. 网易云课堂_C语言程序设计进阶_第二周:指针:取地址运算和指针、使用指针、指针与数组、指针与函数、指针与const、指针运算、动态内存分配_2信号报告

    2 信号报告(5分) 题目内容: 无线电台的RS制信号报告是由三两个部分组成的: R(Readability) 信号可辨度即清晰度. S(Strength)    信号强度即大小. 其中R位于报告第一 ...

  8. 可用的CSS文字两端对齐

    最近在工作项目中接触到Web界面设计的问题,要实现文字两端对齐的效果.在网上搜索了一下,用的都是类似的技巧: text-align:justify;text-justify:inter-ideogra ...

  9. SQL Server 获取服务器信息

    最近做了一个小工具,里面涉及到一些取SQL Server 服务器信息的一些东西,找了好久,找到一个不错的,贴出来分享. 系统函数 SERVERPROPERTY ( propertyname ) 包含要 ...

  10. nade.js(一)进程管理

    简介 process是一个全局内置对象,可以在代码中的任何位置访问此对象,这个对象代表我们的node.js代码宿主的操作系统进程对象. 使用process对象可以截获进程的异常.退出等事件,也可以获取 ...