代码改变世界

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

2014-10-21 10:54  清风抚柳  阅读(741)  评论(1编辑  收藏  举报

目录索引

清风注解-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 = -8
var height : Int16 = 179
var monthlyExpenditure : Int32 = -4680
var landArea : Int64 = 9_600_000
// 无符号整数
var age : UInt8 = 32
var years : UInt16 = 2014
var moonDistance : UInt32 = 384400
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 = 1
// 类型推断把浮点数推断为Double类型
var pai = 3.14 

注解:

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

    作者:清风抚柳 (DashGeng)

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

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