天天看點

Java 程式員必備scala基礎文法

class SendResponse(request: Request,
                     val responseSend: Send,
                     val responseAsString: Option[String],
                     val onCompleteCallback: Option[Send => Unit]) 
  extends Response(request) {
    ......
    // 指定輸入參數onCompleteCallback
    override def onComplete: Option[Send => Unit] = onCompleteCallback
}      

Scala中的Unit類似于Java中的void

Send => Unit 表示一個方法。該方法接收Send類執行個體,然後執行一段代碼邏輯。

Scala是函數式程式設計語言,是以可以把一個函數作為一個參數傳給另一個函數,也可以把函數作為結果傳回。這裡的onComplete方法就應用了第二種用法,也就是把函數指派給另一個函數,并作為結果傳回。這樣做的好處在于,你可以靈活地變更onCompleteCallback來實作不同的回調邏輯。