Swift–05可选类型

释放双眼,带上耳机,听听看~!

print(“可选类型”)

/*可选类型

变量状态:

有值:具体内容

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

定义方式:

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

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

*/

var v1: Int? =
250

 

ifv1!%5 ==
0 {

print(“(v1!)是5的倍数”)

}

 

var v2: Int! =
250

ifv2%5 ==
0 {

print(“(v2)是5的倍数”)

}

 

//解决办法

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

print(“(v1!)是5的倍数”)

}

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

print(“(v2)是5的倍数”)

}

//可选绑定

iflet 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

guardlet v4 = v3, v4%5==0else {

return

}

print(v4)

}

test()

人已赞赏
iOS文章

Swift--03新加类型

2020-2-27 12:29:00

iOS文章

iOS去除UITableView左边15像素空白问题

2020-2-27 15:31:06

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索