0
点赞
收藏
分享

微信扫一扫

swift5.1学习-5.可选项(Optional)

栖桐 2022-02-02 阅读 41

1.可选项定义

可选项,一般也叫可选类型,它允许将值设置为nil
在类型名称后面加个问号 来定义一个可选项
从字典中根据key来取值返回的是一个可选类型,需要使用可选绑定来解包。

var name: String? = "Jack"
name = nil
var age: Int? // 默认就是nil 
age = 10
age = nil

2.强制解包(Forced Unwrapping)

var age: Int? = 10
let ageInt: Int = age!

3.可选项绑定(Optional Binding)

可选项绑定格式: if let/var 可选项解包表达式 {true的代码}

if let number = Int("123") { 
  print("字符串转换整数成功:\(number)") 
  // number是强制解包之后的Int值
  // number作用域仅限于这个大括号
  } else { 
  print("字符串转换整数失败")
}
// 字符串转换整数成功:123
if let first = Int("4"),
    let second = Int("42"),
    first < second && second < 100 {
    print("\(second) < \(second) < 100")
}
// 4 < 42 < 100

4.空合并运算符 ??(Nil-Coalescing Operator)

5.guard语句

func login(_ info: [String : String]) {
  guard let username = info["username"] else {
  print("请输入用户名")
  return
  }
  guard let password = info["password"] else {
  print("请输入密码")
  return
  }
// if username ....
// if password ....
print("用户名:\(username)", "密码:\(password)", "登陆ing")
}

6.隐式解包(Implicitly Unwrapped Optional)

let num1: Int! = 10
let num2: Int = num1
if num1 != nil {
   print(num1 + 6) // 16
}
if let num3 = num1 {
   print(num3)
}
举报

相关推荐

0 条评论