目录索引

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

Point 6.

输出常量和变量

代码事例:

// 输出的内容会在最后换行
println("hello, world")
// 输出的内容最后不会换行
print("My name is Dash Geng")

注解:

  • 可以用 println 或 print 函数来输出当前常量或变量的值。
  • println 和 print 是用来输出的全局函数(内置函数)。
  • println 函数输出的内容会在最后换行。
  • print 函数输出的内容最后不会换行。
  • Swift 用字符串插值的方式把常量名或者变量名当做占位符加入到长字符串中,代码执行时会用当前常量或变量的值替换这些占位符。

Point 7.

Swift 代码注释

代码事例:

/* Swift的注释风格包括多行注释(/* */)和单行注释(//)
/*
多行注释中可以嵌套多行注释
*/
// 多行注释中也可以嵌套单行注释
*/

注解:

  • 和其他语言一样,Swift 编译器在编译代码时,会自动忽略注释部分。
  • Swift 有单行注释和多行注释两种注释风格。
  • 单行注释以双正斜杠(//)作为起始标记。
  • 多行注释的起始标记为单个正斜杠后跟随一个星号(/*),终止标记为一个星号后跟随单个正斜杠(*/)。
  • Swift 的多行注释中可以包含单行注释,也可以嵌套多行注释。

Point 8.

整数类型

代码事例:

// 有符号整数
var temperature : Int8 = -
var height : Int16 =
var monthlyExpenditure : Int32 = -
var landArea : Int64 = 9_600_000
// 无符号整数
var age : UInt8 =
var years : UInt16 =
var moonDistance : UInt32 =
var globalPopulation : UInt64 = 7_000_000_000 

注解:

  • 整数就是没有小数部分的数字。
  • Swift 提供了 8,16,32 和 64 位的有符号和无符号整数类型。
  • 有符号整数类型:Int,Int8,Int16,Int32,Int64。
  • 无符号整数类型:UInt,UInt8,UInt16,UInt32,UInt64。
  • Swift 的所有数据类型都采用大写命名法。
  • 你可以访问不同整数类型的 min 和 max 属性来获取对应类型的最大值和最小值。
  • // 16位有符号数的最小值:-32768
    let minInt16Num : Int16 = Int16.min
    // 16位无符号数的最小值:0
    let minUInt16Num : UInt16 = UInt16.min
    // 32位有符号整数的最大值:2_147_483_647
    let maxInt32Num : Int32 = Int32.max
    // 32位无符号整数的最大值:4_294_967_295
    let maxUInt32Num : UInt32 = UInt32.max
  • Swift 提供了一个特殊的整数类型 Int,长度与当前平台的原生字长相同。在 32 位平台上,Int 和 Int32 长度相同;在 64 位平台上,Int 和 Int64 长度相同。
  • /* Int类型的长度取决于当前CPU字长,本机字长64位,
    因此maxIntNum为:9_223_372_036_854_775_807
    */
    let maxIntNum : Int = Int.max
  • Swift 也提供了一个特殊的无符号类型 UInt,长度与当前平台的原生字长相同。在 32 位平台上,UInt 和 UInt32 长度相同;在 64 位平台上,UInt 和 UInt64 长度相同。
  • /* UInt类型的长度取决于当前CPU字长,本机字长64位,
    因此maxUIntNum为:18_446_744_073_709_551_615
    */
    let maxUIntNum : UInt = UInt.max
  • 尽量不要使用 UInt,而是统一使用 Int,这样可以提高代码的可复用性,避免不同类型数字之间的转换,并且匹配数字的类型推断。

Point 9.

浮点数类型

代码事例:

var floatNum : Float = 1.12345678901234567890
var float32Num :Float32 = 1.12345678901234567890
var float64Num : Float64 = 1.12345678901234567890
var float80Num : Float80 = 1.12345678901234567890
var doubleNum : Double = 1.12345678901234567890
// floatNum的值为:1.123_456_835_746_77
println("\(floatNum)")
// float32Num的值为:1.123_456_835_746_77
println("\(float32Num)")
// float64Num的值为:1.123_456_789_012_35
println("\(float64Num)")
// float80Num的值为:1.123_456_789_012_35
println("\(float80Num)")
// doubleNum的值为:1.123_456_789_012_35
println("\(doubleNum)") 

注解:

  • 浮点数是有小数部分的数字。
  • 浮点类型比整数类型表示的范围更大,可以存储比 Int 类型更大或者更小的数字。
  • Swift 提供了 Double 和 Float 两种有符号浮点数类型。
  • Float 表示 32 位浮点数,Double 表示 64 位浮点数。
  • Float 精确只有 6 位数字,Double 精确度很高,至少有 15 位数字。
  • 实际上 Swift 有五种可选的有符号浮点数类型:Float,Float32,Float64,Float80,Double。
  • 在 64 位处理器上,Float 和 Float32 的取值范围相同,Float64,Float80,Double 这三种类型的取值范围相同。

Point 10.

类型安全和类型推断

代码事例:

// 常量或变量的赋值操作会触发类型推断。
// 类型推断把正整数推断为Int类型
var index =
// 类型推断把浮点数推断为Double类型
var pai = 3.14 

注解:

  • Swift 是一个类型安全的语言。类型安全的语言可以让你清楚地知道代码要处理的值的类型。
  • 由于 Swift 是类型安全的,所以它会在编译代码时进行类型检查,并把不匹配的类型标记为错误。
  • 如果没有显式指定类型,Swift 会使用类型推断来选择合适的类型。
  • 在声明常量或者变量的时候,赋给它们一个字面量即可触发类型推断。
  • 类型推断会把正整数推断为 Int 类型,把浮点数推断为 Double 类型。

作者:清风抚柳 (DashGeng)

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

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

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

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

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

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

    目录索引 清风注解-Swift程序设计语言 Point 11. 数值型字面量 代码事例: let decimalInteger = // 十进制的17 let binaryInteger = 0b10 ...

  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. 20145206《Java程序设计》第10周学习总结

    20145206 <Java程序设计>第10周学习总结 博客学习内容总结 什么是网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定 ...

  6. 20145334 《Java程序设计》第10周学习总结

    20145334 <Java程序设计>第10周学习总结 教材学习内容总结 一.网络编程 •网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入 ...

  7. 20145320 《Java程序设计》第10周学习总结

    20145320 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 计算机网络概述 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输. 按照计算机网络的定义 ...

  8. 20145225《Java程序设计》 第10周学习总结

    20145225<Java程序设计> 第10周学习总结 教材学习内容总结 一.网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据: 程序员所作的事情就是把数据发送到指定 ...

  9. 20145208 《Java程序设计》第10周学习总结

    20145208 <Java程序设计>第10周学习总结 教材学习内容总结 了解JAVA网络编程的基础知识 这一部分知识的学习在我的实验中有叙述实验五 补充内容: 在现有的网络中,网络通讯的 ...

随机推荐

  1. 在vim保存时获得sudo权限

    在维护线上服务的时候,经常要编辑一些不属于操作用户的文件,比如只有r权限的文件,每次保存都会提示read only.这时可以使用如下命令代替原有的 :wq 命令 :w !sudo tee % 命令:w ...

  2. List和Tuple类型

    list列表,list是一种有序的集合,可以随时添加和删除其中的元素,L=[]   索引从0开始,第一个元素的索引是0,第二个是1,倒数第一个是-1,倒数第二个是-2,以此类推,使用索引,不要越界   ...

  3. Visual Studio Code和Docker开发asp.net core和mysql应用

    Visual Studio Code和Docker开发asp.net core和mysql应用 .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对 ...

  4. linux ARP攻击处理

    今天部门受到arp攻击 多说机器无法正常联网了,windows下的绑定下mac地址或者打开360arp防火墙就就ok了.我讲讲linux下的arp攻击的发现和处理吧.边学边讲,说的不对的欢迎大家指出, ...

  5. 一步一步学习SignalR进行实时通信_5_Hub

    原文:一步一步学习SignalR进行实时通信_5_Hub 一步一步学习SignalR进行实时通信\_5_Hub SignalR 一步一步学习SignalR进行实时通信_5_Hub 前言 Hub命名规则 ...

  6. Struts2 四、Struts2 处理流程

    1. 一个请求在Struts2框架中的处理步骤: a) 客户端初始化一个指向Servlet容器的请求: b) 根据Web.xml配置,请求首先经过ActionContextCleanUp过滤器,其为可 ...

  7. 在centos中添加开机自启动服务

    将服务的shell脚本添加到/etc/rc.d的rc.local文件的最后面,需要在服务名称的前面加上其路径. 例如我要将httpd添加到开机自启动中,需要在rc.local添加如下代码 /usr/s ...

  8. 饿了么移动APP的架构演进(转)

    原文:http://www.jianshu.com/p/2141fb0dc62c 文/圣迪(简书作者)原文链接:http://www.jianshu.com/p/2141fb0dc62c著作权归作者所 ...

  9. 确定比赛名次(map+邻接表 邻接表 拓扑结构 队列+邻接表)

    确定比赛名次 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submis ...

  10. SQL Server 触发器2

    触发器可以做很多事情,但也会带来很多问题.使用它的技巧在于在适当的时候使用,而不要在不适当的时候使用它们. 触发器的一些常见用途如下: 弹性参照完整性:实现很多DRI不能实现的操作(例如,跨数据库或服 ...