首页 > if 条件判断语句问题

if 条件判断语句问题

书上是这么说的:
“在if语句中,条件必须是一个布尔表达式——这意味着像if score { ... }这样的代码将报错,而不会隐形地与 0 做对比。
你可以一起使用if和let来处理值缺失的情况。这些值可由可选值来代表。一个可选的值是一个具体的值或者是nil以表示值缺失。在类型后面加一个问号来标记这个变量的值是可选的。”

“var optionalString: String? = "Hello"
print(optionalString == nil)
 
var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
    greeting = "Hello, \(name)"
}”

对于if let name = optionalName 感觉不是布尔判断,该怎么理解这句


if let name = optionalName

你这样念:判断optionalName『包含值』的状态是true还是false?true话把值取出来放到name里。


不会swift
说一点你自己测试一下

let name = optionalName
这个语句,先是声明,然后赋值。
通常情况下,赋值并非一定成功的,所以也就存在了bool的结果。
那么,你可以测试一下optionalName为何值时赋值不成功。

参考
using-if-let-with-many-expressions

【热门文章】
【热门文章】