[Swift]:快速学习笔记


注:本系列学习笔记是以《Swift权威指南》为教程的学习笔记,部分代码摘抄自该教程。


Swift是什么?

Swift是一门拥有动态特性的静态语言,吸收了Objective-C,C#,Ruby,Python,Haskell等语言的优点。

Swift可以直接使用Cocoa和Cocoa Touch中的API(编译器实现)。

Swift是一门类型安全的语言。

Swift可以和Objective-C混合编程,但是分属不同的代码文件。

Swift可以通过元组(tuples)返回多个值。

Swift支持闭包。

Swift支持可选类型 Optional ,表示一个变量可能存在,也可能为未设状态 nil  通过?声明,通过!解包变量。

Swift编码中语句结束的分号是可选的,除非在一行中定义有多个执行语句。如 var x = 0; let y = 30;


Swift语法


输出到控制台:print

内嵌变量解析

var val = 30
print("value is \(val)")

let定义常量,常量必须初始化。

var定义变量


整数类型:

Int8:8位有符号整数

Int16:16位有符号整数

Int32:32位有符号整数

Int:32位有符号整数 

Int64:64位有符号整数


UInt8:8位无符号整数

UInt16:16位无符号整数

UInt32:32位无符号整数

Int:32位无符号整数 

UInt64:64位无符号整数


let decimalInt = 20
let binaryInt = 0b1110
let octalInt = 0o21
let hexInt = 0x34

var val1:Float = 30.2
var val2:Float64 = 3455.33
var val3:Double = 34354.23

类型别名

typealias MyIntType = Int32

var isFinished:Bool = true


字符串比较

var strA = "abcd"
var strB = "cdef"
if strA > strB
{
}

元组 tuples


let product1 = (20,"iPhone 6",5888)
var (id,name,price) = product1
let (_,name2,_) = product1
let product2 = (30,name:"iPhone 6",price:5888)


可选类型

 

let x:Int? = nil
let y:Int = 2


操作符

区间操作符

<span style="font-size:18px;">for i in 0..<4
{
    print(i)
}</span>
<span style="font-size:18px;">//闭区间
for i in 0...4
{
    print(i)
}</span>


数组(Array),某些情况下会转换为NSArray

[Swift]:快速学习笔记_第1张图片


字典(Dictionary),某些情况下会转换为NSDictionary


[Swift]:快速学习笔记_第2张图片

控制流



函数






Swift 2.0 新特性

将 println 函数统一为 print

do-while改成repeat-while

repeat {

    print(counter)
    counter--

} while counter > 0

新增了 #available 标注来进行多版本兼容性支持

if #available(iOS 8.0, *) 用于检测当前的系统版本是否在iOS 8 或以上

try-catch异常捕捉

do {
  let content = try NSString(contentsOfFile: "/file/path/f.txt", encoding: NSUTF8StringEncoding)
} catch {
  print("Failed")
}

throws throw抛出异常

guard 关键字

defer 关键字


代码下载(playground文件):

Swift快速学习笔记




你可能感兴趣的:([Swift]:快速学习笔记)