Swift - 可选类型

Swift 可选类型 - Optionals

  1. 可选类型
  2. 强制解析
  3. 自动解析
  4. 可选绑定

1.可选类型- ?
加入我们创建一个变量,但是它有可能为空,这时候Swift提供一个符号‘?’来表示这是一个可能为空的变量:

var thisStr:String? = ""
//看到这里的if,没错,if或者for循环后面的内容不加(),加了也没错,但是并非所有的if或者for循环都可以加,在使用中尽量都不加
if thisStr != nil {
    print(thisStr)
}else{
    print("字符串为 nil")
}

2.强制解析
强制解析可选值,虽然是可选变量,但是我已经知道了这个值一定不会为nil,有值,所以请使用这个值,使用时在后面加‘!’

var thisStr:String?

thisStr = "Hello,World!"

if thisStr != nil {
   print(thisStr!)
}else{
   print("thisStr 值为 nil")
}

3.自动解析
在声明时用‘!’替代‘?’,不用提前知道是否为nil

var thisStr:String!

thisStr = "Hello,World!"

if thisStr != nil {
   print(thisStr)
}else{
   print("thisStr 值为 nil")
}

4.可选绑定
一开始没理解什么意思,后来才知道,原来是声明的变量是否为nil,若为nil就走else,非nil则赋值给声明的常量/变量:

var thisStr:String?

thisStr = "Hello, World!"
//此处let变量若需要改变可用var,后面的参数可以是一个函数
if let thatStr = thisStr {
   print("你的字符串值为 - \(thatStr)")
}else{
   print("你的字符串没有值")
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodingFire

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值