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来实现不同的回调逻辑。

公众号-JavaEdge CSDN认证博客专家 CSDN博客专家 慕课网认证作者 腾讯云+最佳作者
1.经历:19届双一流本科,曾在百度、携程、华为等大厂搬金砖
2.涉猎领域:Java生态各种中间件原理、框架源码、微服务、中台等架构设计及落地实战,只生产硬核干货!
3.开源社区荣誉:阿里云栖社区博客专家、腾讯云+社区2019年度最佳作者、慕课网认证作者、CSDN百万流量万粉博客专家,简书优秀创作者兼《程序员》专题管理员
4.著作:在牛客网著有《Java源码面试解析指南》,目前已有上千人在学习,已助众多读者成功拿到满意offer~
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 黑客帝国 设计师:上身试试 返回首页