gpt4 book ai didi

variables - Swift 中的多变量赋值

转载 作者:行者123 更新时间:2023-11-30 12:17:09 25 4
gpt4 key购买 nike

如何使用 Swift 在一行中分配多个变量?

    var blah = 0
var blah2 = 2

blah = blah2 = 3 // Doesn't work???

最佳答案

你不知道。

这是一种语言功能,可防止赋值返回值时出现标准的不必要的副作用,如 described in the Swift book :

Unlike the assignment operator in C and Objective-C, the assignment operator in Swift does not itself return a value. The following statement is not valid:

   if x = y {
// this is not valid, because x = y does not return a value
}

This feature prevents the assignment operator (=) from being used by accident when the equal to operator (==) is actually intended. By making if x = y invalid, Swift helps you to avoid these kinds of errors in your code.

因此,这有助于防止这种极其常见的错误。虽然在其他语言中可以减轻这种错误,例如使用 Yoda conditions ——Swift 的设计者显然认为最好在语言层面确保你不能搬起石头砸自己的脚。但这确实意味着您不能使用:

blah = blah2 = 3

如果您迫切希望在一行上进行分配,您可以使用元组语法,但您仍然必须专门分配每个值:

(blah, blah2) = (3, 3)

...我不会推荐它。虽然一开始可能会感觉不方便,但在我看来,将整个内容输入出来是最好的方法:

blah = 3
blah2 = 3

关于variables - Swift 中的多变量赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45272207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com