在 Swift 中,我什么时候会使用“while let”?

Har*_*tel 2 ios swift

我正在观看一个教程,其中作者在循环时使用了while let 。为什么?我在 上没有找到任何内容while let,所以有人可以向我解释一下吗?

while let node = currentNode {
    print(node.value, terminator: "->")
    currentNode = node.next
} 
Run Code Online (Sandbox Code Playgroud)

Sh_*_*han 6

这段代码遍历一个节点及其后继节点

while let node = currentNode { // check a root node
   print(node.value, terminator: "->") // print current node value 
   currentNode = node.next // go deep to its next one 
} 
Run Code Online (Sandbox Code Playgroud)

直到它到达离开节点,其中while let将停止为node.nextnil ,它与

while currentNode != nil { // check a root node
   print(currentNode?.value, terminator: "->") // print current node value 
   currentNode = currentNode?.next // go deep to its next one 
} 
Run Code Online (Sandbox Code Playgroud)

While let一些变量

意味着执行块内的内容,直到 someVar 为零