gpt4 book ai didi

variables - Swift 中的多变量赋值

转载 作者:IT王子 更新时间:2023-10-29 05:02:22 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/26155523/

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