swift 2.0

第一章 简介

2014年:swift 1 

2015年:swift 2 

可以把Swift看成是运用现代编程理念重写的,使用安全编程(safe programming)设计,源于Objective-C, Rust, Haskell, Ruby, Python, C#, CLU等重新设计的新语言。

Swift不再需要保持和C的兼容性,使得她可以拥有很多新的属性:


自动类型推断(Type Inference) Swift可以根据初始值自动推断出变量或常量的类型
范型 范型使得Swift可以为不同类型的类执行相同的代码
Collection Mutability “Swift does not have separate objects for mutable or non-mutable containers. Instead, you define mutability by defining the container as a constant or variable.”


摘录来自: “Mastering Swift 2”。 iBooks. 
代码块(Closure Syntax) 代码块是一份可以被传递与使用的自包含性代码
Optional Optional定义了一种变量,这种变量的值不是必须的,可能没有值
Switch Switch语法被显著地优化与提升了
多值返回 函数可以用tuples返回多个值
Operator重载 每个累都可以实现他们的Operator重载
关联性的枚举 可以定义比一般意义上复杂得多的枚举,不只是互相联系的值

Mix and Match属性:让我们可以在一个项目里面同时存在Swift和Objective-C文件。还可以让我们更新现有的Objective-C应用程序到Swift并且在Swift项目里使用原有的Objective-C库。

Playground

这里的实例代码都是在playground中运行,playground分为三个部分,左边代码,右边可以实时显示结果甚至图片,颜色等,下面是debug,debug面板是默认不现实的,可以shift + cmd + Y调出。正如其名,playground是用来尝试api和新东西的。

注释写法

/// 单行注释

/**
多行注释
*/

/**
    My add function, add them together and 
    return results.
    - parameters: 
        - first: The first integer
        - second: second The second integer
    - returns: The sum
*/
func myAdd(first: Int, second: Int) -> Int{
    let results = first + second
    return results
}



分号

分号不是必须的,强烈推荐不使用分号。

括号

判断条件里面的括号不是必须的,推荐不写最外层的括号

var x = 1
var y = 2
var z = 3

if x == 1 {
    print("ok")
}



花括号

花括号是必须的

判断条件里面的赋值

判断条件里的赋值是会编译出错的

if x = 1 { // 这样会报错

}



白色空格不是必须的

var n=0 // 没有白色空格
var m = 0 // 有白色空格



print函数

可以用逗号隔开,打印出多个值拼接在一起,也可以使用\( )来输出变量或常量值

var name = "jeff"
var language = "swift"

var message1 = " Welcome to the wonderful world of "
var message2 = "\(name) Welcome to the wonderful world of \(language)!"
print(name, message1, language)
print(message2)

print函数还可以带可选三个参数,separator表示使用什么分隔符,terminator表示使用什么结束符,toStream表示输出到哪个流

var name1 = "jeff"
var name2 = "john"
var name3 = "alice"

var line = ""

print(name1, name2, name3, separator:", ", terminator:" over", toStream: &line)

print(line)



常量和变量

在swift,常量是被鼓励的,在swift 2和xcode 7,如果定义了一个不变的变量会得到警告。因为定义常量可以减少错误率。常量用let定义。多个常量或者变量可以用逗号隔开。

类型安全


swift是类型安全的语言,如果我们赋值一种值到另外一种类型的变量中,会出现编译错误

var age = 25
age = "good" // 编译报错



类型推断

swift会根据初始值推断变量的类型


显式定义类型

我们还可以显式地定义变量类型

var x : Float = 3.14





今天就写到这

未完待续...

你可能感兴趣的:(swift,2.0)