Swift学习笔记之---使用if和let处理空变量

在Swift程序中,结合if和let,可以方便地处理空变量(nullable variable),使用可选绑定(optional binding)来判断可选类型是否包含值,如果包含就把值赋给一个临时常量或者变量。可选绑定可以用在if和while语句中来对可选类型的值进行判断并把值赋给一个常量或者变量。对于空值,需要在类型声明后添加"?",这样以显式标明该类型可以为空,示例代码如下:

var optionalString: String? = "hello"
optionalString == nil

var optionalName: String? = "John Appleseed"
var gretting = "Hello!"
if let name = optionalName {
        //处理空变量
  gretting = "Hello, \(name)"
}

当你确定可选类型确实包含值之后,你可以在可选的名字后面加一个感叹号(!)来获取值。这个感叹号表示"我知道这个可选有值,请使用它。"这被称为可选值的强制解析(forced unwrapping)。

注意:使用!来获取一个不存在的可选值会导致运行时错误,使用!来强制解析之前,一定要确定可选包含一个非nil的值,示例代码:

import Cocoa
var myString:String?
myString = "Hello, Swift!"

if myString != nil {
     
   // 强制解析
   print( myString! )
}else{
     
   print("myString 值为 nil")
}

你可以在声明可选变量时使用感叹号(!)替换问号(?)。这样可选变量在使用时就不需要再加一个感叹号(!)来获取值,它会自动解析。

你可能感兴趣的:(Swift学习,Swift,空变量,iOS,if,let)