回答
你不知道。这是一个语言功能,以防止分配的标准不需要的副作用返回一个值,为described in the Swift book:
不像C和Objective-C的赋值运算符,在斯威夫特赋值操作符本身不返回值。下面的语句是无效的:
if x = y { // this is not valid, because x = y does not return a value }
此功能可防止赋值运算符(
=
)从正在使用的事故时,等于运算符(==
)实际上是意图。通过使x = y
无效,Swift可以帮助您避免代码中出现这些类型的错误。
因此,这有助于防止这种极其常见的错误。尽管在其他语言中可以减轻这种错误 - 例如,通过使用Yoda conditions,Swift设计人员显然决定,在语言层面确定最好的方法是让自己无法在脚下自己拍摄。但它确实意味着你不能使用:
blah = blah2 = 3
如果你不顾一切地做一个行分配,你可以使用元组的语法,但你仍然必须专门分配给每个值:
(blah, blah2) = (3, 3)
...我不会推荐它。虽然它可能会觉得不方便起初,只是打字整个事情出来是最好的方式,在我看来:
blah = 3
blah2 = 3
作为公认的答案说:你可以得到一些更严格的语法,但你不能从分配a
至b
至c
而不使用多行(为了安全,可能)。下面是一些更简洁的语法在一行中声明和分配多个变量的一个例子:
var red, green, blue, alpha : CGFloat
(red, green, blue, alpha) = (0.0, 0.0, 0.0, 0.0)
ledColor.getRed(&red, green: &green, blue: &blue, alpha: &alpha)
请你解释一下上面的代码。真的我不能破译它:) – 2017-09-29 14:54:32
你了解前两行吗? – 2017-09-30 21:12:41
是的...得到了声明和任务。 – 2017-10-02 13:04:14
- 1. 如何在Swift中将属性分配给多个变量?
- 2. 将Swift方法分配给变量
- 3. Swift:分配给switch中的变量case-let-其中
- 4. Swift上的多项分配
- 5. 内存Swift类以外的变量和常量的分配
- 6. 如何获得在闭包中分配的变量的值(Swift)
- 7. 在PHP中将多个变量分配给单个变量
- 8. 如何将多个变量分配到单个变量中?
- 9. 分配变量
- 10. 分配变量
- 11. 分配“/ *”变量
- 12. Swift没有从JSON结果中分配变量
- 13. 分配的动态变量名一旦多个变量
- 14. 分配变量Clojure中
- 15. 分配给未分配的变量
- 16. 分配多个数组值变量
- 17. awk - 从多个来源分配变量
- 18. 分配JavaScript变量Smarty的变量
- 19. 分配变量值的变量
- 20. 分配给变量
- 21. 分配许多变量,在一行中用逗号分隔。 C#
- 22. 变量的内存分配
- 23. 变量的内存分配
- 24. 从分割中分配变量
- 25. 分配,释放,分配变量
- 26. 将javascript变量分配给ruby变量
- 27. 分配实例变量静态变量
- 28. 将值从闭包分配到变量Swift
- 29. Swift中的全局变量
- 30. 分配ASCII值给shell中的变量
这是一种笨拙的东西,我所有的时间感觉就像出现在“早/年轻”的语言。语言的神使它不可能写出他们主观上认为令人讨厌的代码(这是一个例子,另一个例子是用'0'前缀'浮动'的必要性[试着快速写'let x = .5'])。 – dave 2016-04-10 19:48:16
blah = 3; blah2 = 3; – 2016-07-18 17:41:10