0

我想知道这段代码的作用:

var something: String = "Hi"

if something = "Hello world!" {
    // Will this be executed?
}

它会分配给something变量并做if身体吗?或者它会只为主体设置该变量的值,if而在外部它不会改变?或者有什么关系nil

4

3 回答 3

2

赋值不是返回布尔值的表达式,因此不能在这样的内部使用if。所以这不会编译。

(尽管您会收到误导性的编译器消息)

如果编译失败,则赋值

于 2015-06-13T16:07:32.217 回答
1

此模式仅适用于可能失败的赋值 - 也就是说,如果您正在分配返回 Optional 值的表达式的结果。在这种情况下,您使用if let,而不仅仅是if.

于 2015-06-13T20:12:31.213 回答
0

我们不能对 if 条件使用赋值运算符,如果假设您正在使用可选类型,不会

这里有一些运算符可以帮助您清楚地区分与赋值运算符

=   assignment operator
==  is equal to
=== is identical to
于 2015-09-24T10:48:52.850 回答