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)
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
组合赋值运算符
+= -= *= \= &= ..... 在基本操作符号后面增加等号= 就是复合了
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
与&& 或|| 非 !
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。