微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift--05可选类型

print("可选类型")

/*可选类型

变量状态:

有值:具体内容

无值:nil,可用于条件判断

定义方式:

类型? :使用'!'进行强制解包;有值解包成功,无值运行错误

类型! :使用时自动解包;但要确保优质,无值时仍会发生运行时错误

*/

var v1: Int? = 250


if v1!%5 == 0 {

print("\(v1!)5的倍数")

}


var v2: Int! = 250

if v2%5 == 0 {

print("\(v2)5的倍数")

}


//解决办法

if (v1 != nil) && (v1!%5 == 0) {

print("\(v1!)5的倍数")

}

if v2 != nil && v2%5 == 0 {

print("\(v2)5的倍数")

}

//可选绑定

if let v3 = v1,v3%5 == 0 {

print("v3 = \(v3)")

}

//函数中可以这样使用,这样更安全

/*

如果一个或者多个条件不成立,可用guard语句来退出当前作用域。

guard 语句的格式如下:

guard 条件 else{

语句

}

guard语句中的条件的结果必须是Bool类型或者Bool的桥接类型,另外,条件也可以是一条可选绑定。

在guard语句中进行可选绑定的常量或者变量,其可用范围从声明开始直到作用域结束。

guard语句必须有else子句,而且必须在该子句中调用Never返回类型的函数,或者使用下面的语句退出当前作用域:

return

break

continue

throw

*/

func test() {

let v3:Int? = 5

guard let v4 = v3,v4%5==0 else {

return

}

print(v4)

}

test()

原文地址:https://www.jb51.cc/swift/321709.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐