在 GitHub 上編輯此頁面

已移除:DelayedInit

DelayedInit 特質的特殊處理不再受支援。

其中一個後果是 App 類別,它使用 DelayedInit 現在已部分中斷。您仍可以使用 App 作為設定主程式的一個簡單方法。範例

object HelloWorld extends App {
  println("Hello, world!")
}

但是,程式碼現在在物件的初始化程式中執行,這表示在某些 JVM 上,它只會被解釋。因此,最好不要將它用於基準測試!此外,如果您想要存取命令列引數,您需要為此使用明確的 main 方法。

object Hello:
  def main(args: Array[String]) =
    println(s"Hello, ${args(0)}")

另一方面,Scala 3 提供了一個方便的替代方案,可以使用 @main 方法 來替代此類「程式」物件。