Hello World 通過擴充套件 App
object HelloWorld extends App {
  println("Hello, world!")
}
通過擴充套件 App 特徵 ,你可以避免定義明確的 main 方法。HelloWorld 物件的整個主體被視為主要方法。
Version < 2.11.0
延遲初始化
根據官方文件 ,
App使用稱為延遲初始化的功能。這意味著在呼叫 main 方法之後初始化物件欄位。
Version >= 2.11.0
延遲初始化
根據官方文件 ,
App使用稱為 延遲初始化 的功能。這意味著在呼叫 main 方法之後初始化物件欄位。
DelayedInit現已被棄用以供一般使用,但仍然支援App作為特例。支援將持續到確定並實施替換功能為止。
要在擴充套件 App 時訪問命令列引數,請使用 this.args:
object HelloWorld extends App {
  println("Hello World!")
  for {
    arg <- this.args
  } println(s"Arg=$arg")
}
當使用 App 時,物件的主體將作為 main 方法執行,不需要覆蓋 main。