swift

Posted ecollab

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift相关的知识,希望对你有一定的参考价值。

  • Xcode版本>=6.0
  • Mac 版本>=10.9.3
  • 文件扩展名.swift
  • 不需要编写main函数,按顺序从上往下执行
  • 不用在每条语句后加;,同一行有多条语句必须加;
  • 多行注释可嵌套注释

      /*外层注释

     /*内层注释

     内层注释*/

     外层注释*/

  • 用 let 关键字声明常量,用 var 关键字声明变量,可以在一行中声明多个常量或多个变量,由逗号分隔:var x = 0.0, y = 0.0, z = 0.0
  • 可以为常量或变量添加类型标注(type annotation),var welcomeMessage: String
  • 字符串通过+号连接
  • 字符串插值是一种全新的构建字符串的方式,可以在其中包含常量、变量、字面量和表达式。你插入字符串字面量的每一项需要包裹在以反斜线为前缀的圆括号中:let multiplier = 3 ;let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"
  • println 输出后自动换行   print 少了自动换行
  • 可以使用任何字符命名常量和变量名,包括Unicode。常量与变量名不能包含数学符号、箭头、保留的(或者非法的)Unicode 码、连线与制表符。不能以数字开头,但是可以在变量名的其他地方包含数字。
  • 元组(tuples)是把多个值组合成一个复合值。元组内的值可以使任意类型,并不要求是相同类型。比如(404, "Not Found") let http404Error = (404, "Not Found")

  • 使用可选(optionals)来处理可能缺失值的情况。
  • Swift 提供了8,16,32和64位的有符号和无符号整数类型。这些整数命名约定类似于C语言,如8位无符号整数类型是 UInt8,32位有符号整数类型是 Int32。像所有Swift的其他类型一样,整数类型采用大写命名法。可以访问每个整数类型的 min 和 max 属性获取其最小值和最大值。

    Swift 提供了一个特殊的整数类型:Int,长度与当前平台的字长相同。

        在32位平台上,Int和Int32长度相同。
        在64位平台上,Int和Int64长度相同。                                                                                                                                                 Swift 还提供了一个特殊的无符号类型UInt,长度与当前平台的字长相同:
        在32位平台上,UInt和UInt32长度相同。
        在64位平台上,UInt和UInt64长度相同。

  • 浮点数是由整数和小数部分组成,如 3.14159,0.1,-273.15。
    浮点数类型可以表示比整数类型更大范围的值,可以存储比 Int 类型更大或者更小的数字。Swift 提供了两种浮点数类型:

        Double:64位浮点数。当你需要存储很大或者很高精度的浮点数时使用此类型。
        Float:32位浮点数。精度要求不高时使用此类型。
     
    注意:Double 精确度很高,至少15位数字,而Float最少只有6位数字。选择哪个类型取决于你的代码需要处理的值的范围。

  • 数值类面值可以包括额外的格式来增强可读性。整数和浮点数都可以添加额外的零并且包含下划线,这不会影响字面量:

    let paddedDouble = 000123.456;let money = 001999
    let oneMillion = 1_000_000
    let justOverOneMillion = 1_000_000.000_000_1
  • 整数和浮点数之间的转换必须显示的指定类型:

    let three = 3
    let pointOneFourOneFiveNine = 0.14159
    let pi = Double(three) + pointOneFourOneFiveNine
    // pi equals 3.14159, and is inferred to be of type Double

    通过常量 three 的值创建一个新类型 Double 的值,所以,加号两边是相同的类型。如果不转换,是不允许相加的。

  • 类型别名就是给一个类型定义的一个小名。通过 typealias 关键字进行定义。
    类型别名是非常有用的,特别是一个非常有意义的名称时。比如,处理特定大小的外部来源的数据:

    typealias Audiosample = UInt16
  • 赋值运算没有返回值
  • 取余支持浮点运算 8 % 2.5 = 0.5
  • 布尔型(Bool)。布尔值是逻辑值,他们只能是真或假。Swift 提供了两个布尔常量值:true ,false。(不能是1和0)
  • 闭区间运算符(a...b):包含从 a 到 b (包括 a 和 b )之间的所有的值。for index in 1...5 {
        println("\(index) times 5 is \(index * 5)")
    }  
  • 半闭区间运算符(a..b):定包含从 a 到 b 但不包括 b 的区间内的所有的值。半闭区间主要用于从 0 开始的列表(如数组),可以方便地取值从 0 到列表的长度(但不包括)。for index in 0..<5 {
  • 对整数进行益处运算(上溢出、下溢出),在取值范围内来回循环,上溢出到最小值,下溢出到最大值

参考:http://www.ioswift.org/

以上是关于swift的主要内容,如果未能解决你的问题,请参考以下文章

iOS面试题-Swift篇

杂项-语言-Swift:Swift

美国真能把香港“踢出”SWIFT吗?

iOS中Objective-C已死Swift当立?

Objective-C 和 Swift 语言,哪个更容易学习?

中国真的会被踢出SWIFT吗?将会产生什么后果?