Swift入门教程?看一篇文章就够了(二)

2021-05-31 10:46:49 浏览数 (1)

元组(purple)

let httpError = (404,"not found")

(anytype,antype)

元组内容可分解

let (statusCode,statusMessage) = httpError

print(httpError.statusCode)

print(httpError.statusMessage)

可选元组

let (justStatusCode, _ ) = httpError

print("(justStatusCode)")

下标访问

print(httpError.0)

print(httpError.1)

可选类型 (Optional)

var E1 : Int? = 404

//声明一个包含可选值Int 404

var E2 :String?

// E2 自动设置为nil

注意:OC中nil代表指向空地址,但是swift中nil代表缺失值,它是一个值value

可选绑定 (Optional bingding)

let constName = someOptional{ ... }

if let acutalNumber = Int(possibleNumber){

print(prossibleNumber actualNumber)

}else{

print(possibale)

}

这段代码理解为 如果Int(possibleNumber)返回的可选Int包含一个值,创建一个常量 actualNumber 并赋值给它

如果转换成功actualNumber可以在if语句第一个分支中使用。它已经被可选类型包含的值初始化过,所以不需要通过

强制解包 ! 后缀来获取它的值。在这个例子中 acutlaNumber 只被用来输出交换的结果

隐式解析可选类型

let S1 : String? = "An optional string"

let S2 : String = S1! //需要感叹号来强制解包

let S3 : String != "Another opitonal string"

let S4 : String = S3 //不需要感叹号来强解包。 这被称为隐式解析可选

基本运算符

- * = 来翻译翻译什么叫做 - * 来翻译翻译什么tm的叫基本运算符 什么tm的叫基本运算符 - *

一元

-a , !b a的负数,b不存在

二元操作符号

1 1 加号作用于两个值,称作二元

三目运算符

a : b ? c

组合赋值运算符

= -= *= = &= ..... 在基本操作符号后面增加等号= 就是复合了

swift 运算符特点

1. 恒等(===)和不恒等(!==)这两个比较符来判断两个对象是否引用同一个对象实例

2. 空合运算符 a ?? b

例子: a != nil ? a! : b

代码解释:当a不等于nil值时候,对a进行强制解包 !a ,当a等于nil的时候返回b

上面例子可以优化为:

let b = 1

var a : Int?

var c = a ?? b

区间运算符

闭区间包含两边极限 a...b -> [a,b]

半开区间 a..< b -> [a,b)

单侧区间 [2...] / [...2] -> [2, œ] / [-œ,2] 2到正无穷 / 负无穷到2

逻辑运算符

与&& 或|| 非 !

0 人点赞