Swift 条件内赋值
Swift assignments inside conditions
我想知道这段代码的作用:
var something: String = "Hi"
if something = "Hello world!" {
// Will this be executed?
}
它会分配给 something
变量并执行 if
主体吗?或者它会只为 if
主体设置该变量的值,而在外部它不会改变吗?或者跟nil
有什么关系?
赋值不是 return 布尔值的表达式,因此不能像这样在 if
中使用。所以这不会编译。
(尽管您会收到误导性的编译器消息)
此模式仅适用于可能会失败的赋值 — 也就是说,如果您要为 returns 可选值的表达式的结果赋值。在这种情况下,您使用 if let
,而不仅仅是 if
。
我们不能对 if 条件使用赋值运算符,你会 if let 假设你正在使用 可选类型
以下是一些运算符,可帮助您清楚地区分赋值运算符
= assignment operator
== is equal to
=== is identical to
我想知道这段代码的作用:
var something: String = "Hi"
if something = "Hello world!" {
// Will this be executed?
}
它会分配给 something
变量并执行 if
主体吗?或者它会只为 if
主体设置该变量的值,而在外部它不会改变吗?或者跟nil
有什么关系?
赋值不是 return 布尔值的表达式,因此不能像这样在 if
中使用。所以这不会编译。
(尽管您会收到误导性的编译器消息)
此模式仅适用于可能会失败的赋值 — 也就是说,如果您要为 returns 可选值的表达式的结果赋值。在这种情况下,您使用 if let
,而不仅仅是 if
。
我们不能对 if 条件使用赋值运算符,你会 if let 假设你正在使用 可选类型
以下是一些运算符,可帮助您清楚地区分赋值运算符
= assignment operator
== is equal to
=== is identical to