知识点16:可选项

  • 可选项。
//可选项,一般也叫可选类型,它允许将值设置为nil。
var nameValue:String = "Jack"
//nameValue = nil// error: 'nil' cannot be assigned to type 'String'
//在类型名称后面加个?来定义一个可选项。
var nickValue:String? = "Mary"
nickValue = nil

var ageValue:Int?//不设置可选项默认没有值、设置可选项默认值nil

//事例
var array = [10,15,20,25]

func indexFunc(_ item:Int) -> Int?{
    if item < 0 || item > array.count {
        return nil
    }
    return array[item]
}
/*
print(indexFunc(0))//Optional(10)
print(indexFunc(-1))//nil
print(indexFunc(10))//nil
*/
  • 强制解包。
//可选项是对其他类型的一种包装。如果从可选项中取出被包装的数据,需要使用感叹号(!)进行强制解包。
var heightValue:Int? = 10
var height = heightValue! + 20
print(height)//30
 
//如果对值为nil可选项进行强制解包、会报错。
var widthValue:Float?
//错误演示 error: Unexpectedly found nil while unwrapping an Optional value
//var width =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值