回答
你不知道。這是一個語言功能,以防止分配的標準不需要的副作用返回一個值,爲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