19
A
回答
27
顯而易見的原因是幫助不保留變量未初始化。 請注意,在沒有初始化的聲明中,您還需要指定類型。
var x: Type;
提供了以下錯誤:
only classes can have declared but undefined members (Note that variables need to be initialized to be defined)
其實只是抽象類可以聲明不成員定義它們。你仍然可以得到所需的行爲(初始化爲缺省值的變量)作爲
var x: Type = _
如果Type
是引用類型,x
將null
。例如,在工廠方法完成對象構造之後的對象初始化的情況下,此場景很有用。
相關問題
- 1. vb.net需要在聲明中賦值
- 2. 爲什麼在聲明時給變量賦一個空值?
- 3. 爲什麼要給$賦值?崩潰Powershell?
- 4. 爲什麼要在$(function(){...})中聲明?
- 5. 爲什麼我不需要在頭文件中聲明UIAlertViewDelegate?
- 6. 爲什麼靜態變量需要在C++中聲明兩次
- 7. 爲什麼在我的屬性聲明「[field:NonSerialized]」中需要「field:」?
- 8. 爲什麼不需要在.h文件中聲明此方法?
- 9. 爲什麼GCC在模板中需要額外的聲明?
- 10. 什麼時候在scala中聲明變量時需要顯式類型?
- 11. 爲什麼模板聲明中的size_t參數需要爲const?
- 12. 我什麼時候需要聲明session_start();?
- 13. cvGetMinMaxHistValues需要什麼導入聲明?
- 14. 爲什麼要爲變量「let」賦值?
- 15. unknwn.h中爲什麼需要三個前向聲明?
- 16. 爲什麼ErrorCollector在聲明時需要分配?
- 17. 爲什麼線程函數需要聲明爲'__cdecl'?
- 18. 爲什麼在Scala中非法開始聲明?
- 19. 爲什麼Scala需要符號?
- 20. Sbt:爲什麼它需要scala-lang 2.10.3?
- 21. 爲什麼返回值需要是NRVO首先聲明的本地值?
- 22. onListItemClick,我需要什麼聲明來獲取值?
- 23. 爲什麼要將float的格式說明符賦給賦值爲0.000000的整型結果?
- 24. 在mysql中聲明變量時賦值給變量
- 25. 在PostgreSQL中聲明和賦值給變量
- 26. 將值賦給數組需要memcpy
- 27. 爲什麼我要聲明<PHP
- 28. 爲什麼要找到類型聲明?
- 29. 爲什麼要聲明(某些)Spring-Beans
- 30. 變量聲明和賦值
對'var'情況的很好的解釋。由於您不能在聲明後重新分配'val'標識符,解除此限制將有效地鼓勵'null'多個名稱的擴散。這將是不好的。 –
我用'var x:Long = _'複製並粘貼你的例子,但它給了我錯誤:'局部變量必須被初始化'。 Scala需要了解更多新用戶才能使用您的解決方案嗎?例如,當OP正在請求一個數字類型時,用於'x'的合適的數字'Type'是什麼? – ecoe
正如你所看到的那樣,'var ... = _'表示法只適用於類成員,不適用於本地變量。我相信沒有任何情況需要保證未初始化的局部變量。 –