Swift-常量与变量

2018-03-17  本文已影响54人  GJCode

一、常量与变量

1、使用之前必须声明

let constant = "常量"
var variable = "变量"

2、一行声明多个变量和多个变量赋值

var red, green, blue: Double
var x = 0.0, y = 0.0, z = 0.0

3、变量、常量名的命名

let (`let`) = "let关键字"
print("输出", terminator:"")
print("是是是\(XXX)")

4、swift注释

/*XXXXXXXXX
XXXXXXXXXXX
/*XXXXXXXXX
*/
XXXXXXXXXXX
*/

二、整形、浮点型

1、浮点型:Double、Float(优先使用Double)

Double:精确度至少15位数字
Float :精确度最多只有6位数字

2、整形字面量

let decimalInter        = 17
let binaryInteger       = 0b10001
let octalInteger        = 0c21
let hexadecimalInteger  = 0x11

3、整型范围

Int8    :-128 ~ 127
UInt8   : 0 ~ 255

4、类型别名(Type Aliases)

typealias AudioSample(类型别名) = UInt16

5、元祖(Tuple)

//创建元祖
let http404Error = (404, "Not Found")
let http404Error = (statusCode:200, description: "OK")
//分解元祖
let (statusCode, statusMessage) = http404Error
//忽略元祖一部分
let (statusCode, _) = http404Error
//通过下标来访问元祖元素
print("this is \(http404Error.0)")
//通过名字来访问元祖元素
print(http404Error.statusCode)

6、可选类型(Optionals)

var name: String? = "guojie"
print("my name is \(name!)")
//可选绑定
if let constantName = someOptional {
    statements
}
if let firstNumber = Int("400"), let secondNumber = Int("43"), firstNumber < secondNumber && secondNumber < 100 {
    print("陈工")
}else{
    print("失败")
}
if let firstNumber = Int("4") {
    if let secondNumber = Int("42") {
        if firstNumber < secondNumber && secondNumber < 100 {
            print("成功")
        }
    }
}

7、错误处理(error handing)

func canThrowAnError() throws {
    
}
do {
    try canThrowAnError()
    //没有错误信息抛出
} catch {
    有一个错误信息抛出
}
func makeASandwich() throws {
    //…………
}
do {
    try makeASandwich()
    eatASandwich()
} catch SandwichError.outofCleanDishes {
    washDishes()
} catch SandwichError.missingIngredients(let ingredients) {
    buyGroceries(ingredients)
}

8、断言和先决条件

let age = -3
//断言(因为-3不>=0,所以断言失败)
assert(age >= 0, "A person's age can't be less than zero")
//不带信息的断言
assert(age>= 0)
//如果代码已经检查了条件,则使用
assertionFailure(_:file:line:)
//先决条件
precondition(index > 0, "Index must be greater than zero")
//表示先决条件发生失败
preconditionFailure(_:file:line:)

9、致命失败(fatalError)

//致命失败(fatalError)
fatalError(_:file:line:)
上一篇 下一篇

猜你喜欢

热点阅读