swift 学习第一天

(1)常量与变量

用let 表示常量,常量一旦定义就不可修改。

例如

 let a = 10

var b = 20

用var 表示变量,变量可以修改。

常量和变量之间也不能互换。

(2)类型标注

可以在类型后面添加标注(用:跟在常量或变量名称后面),来明确常量或者变量的类型。

例: 标注一个String 类型的变量。

var  test:String = "hello world"

(3)打印变量 

swfit 通过print 函数打印变量

例:

print test

在字符串中 输出变量,相当于OC中的nslog。

例 :print("The current value of friendlyWelcome is\(friendlyWelcome)")

(4)整数

swift 整数 包含UInt8,UInt16,UInt32,UIn64,Int8,Int16,Int32,Int64。

UInt 前缀为无符号类型,Int 前缀为有符号类型。

在32位平台上, UInt长度和 UInt32长度相同。

在64位平台上, UInt长度和 UInt64长度相同。

(5)浮点数

swift 提供了两种有符号的浮点数类型。

Double代表 64 位的浮点数。

Float代表 32 位的浮点数。

(6)类型推断

swfit 不强制要求 添加变量类型,语言内部会进行类型推断,当你把一个字符串赋值给一个变量的时候,swift 就会把它推断为 一个字符串类型。

注意:

Swift 在推断浮点值的时候始终会选择 Double(而不是 Float )。

(8)数值型字面量

整数型字面量可以写作:

一个十进制数,没有前缀

一个二进制数,前缀是 0b

一个八进制数,前缀是 0o

一个十六进制数,前缀是 0x

十进制数与 exp  的指数,结果就等于基数乘以 10exp:

1.25e2 意味着 1.25 x 102, 或者 125.0.

1.25e-2意味着 1.25 x 10-2, 或者 0.0125.

(9)整数和浮点数的类型转换

let pi = Double(three) + pointOneFourOneFiveNine

(10)类型转换 

类型别名可以为已经存在的类型定义了一个新的可选名字。用 typealias 关键字定义类型别名。

typealias AudioSample = UInt16

(11)布尔值

Swift为布尔量提供了两个常量值, true 和 false。

let orangesAreOrange = true

let turnipsAreDelicious = false

(12)元组

元组把多个值合并成单一的复合型的值。元组内的值可以是任何类型,而且可以不必是同一类型。

let http200Status = (statusCode: 200, description: "OK")

print("The status code is\(http200Status.statusCode)")

print("The status message is\(http200Status.description)")

(13)可选项。?

可以利用可选项来处理值可能缺失的情况。可选项意味着:

这里有一个值,他等于x ,或者 这里根本没有值,用一个? 表示 可选值。

例 :

Int ?,String ?

(14)强制展开。!

一旦你确定可选中包含值,你可以在可选的名字后面加一个感叹号 ( ! ) 来获取值,感叹号的意思就是说“我知道这个可选项里边有值,展开吧。”这就是所谓的可选值的强制展开。

(15)可选绑定

可以使用可选项绑定来判断可选项是否包含值,如果包含就把值赋给一个临时的常量或者变量。可选绑定可以与 if和 while的语句使用来检查可选项内部的值,并赋值给一个变量或常量。 

例:

if let actualNumber = Int(possibleNumber) {

    print("\'\(possibleNumber)\' has an integer value of\(actualNumber)")

} else {

    print("\'\(possibleNumber)\' could not be converted to an integer")

}

如果 Int(possibleNumber)返回的可选 Int包含一个值,将这个可选项中的值赋予一个叫做 actualNumber 的新常量。否则就会执行else 中的语句

    你可以在同一个 if语句中包含多可选项绑定,用逗号分隔即可。如果任一可选绑定结果是 nil或者布尔值为 false,那么整个 if判断会被看作 false 。

(16)使用断言进行调试

let age = -3

assert(age >= 0, "A person's age cannot be less than zero")

你可能感兴趣的:(swift 学习第一天)