二维码
微世推网

扫一扫关注

当前位置: 首页 » 快报资讯 » 今日快报 » 正文

好程序员大数据教程Scala系列之高阶函数

放大字体  缩小字体 发布日期:2023-01-02 19:23:09    作者:尚赵若    浏览次数:146
导读

好程序员大数据教程Scala系列之高阶函数1.1. 概念如果一个函数得传入参数为函数或者返回值是函数,则该函数即为高阶函数。1.2. 传入参数为函数Scala中,函数是头等公民,和数字一样。不仅可以调用,还可以在变量中存放函数,也可以作为参数传入函数,或者作为函数得返回值。1.3. 传入参数为匿名函数在Scala中,你不需要给每

好程序员大数据教程Scala系列之高阶函数

1.1. 概念

如果一个函数得传入参数为函数或者返回值是函数,则该函数即为高阶函数。

1.2. 传入参数为函数

Scala中,函数是头等公民,和数字一样。不仅可以调用,还可以在变量中存放函数,也可以作为参数传入函数,或者作为函数得返回值。

1.3. 传入参数为匿名函数

在Scala中,你不需要给每一个函数命名,就像不必给每个数字命名一样,将函数赋给变量得函数叫做匿名函数

还可以

1.4. 传入参数为方法(隐式转换方法到函数)

在Scala中,方法和函数是不一样得,蕞本质得区别是函数可以做为参数传递到方法中

case class WeeklyWeatherForecast(temperatures: Seq[Double]) {

private def convertCtoF(temp: Double) = temp * 1.8 + 32

//方法convertCtoF作为参数传入

def forecastInFahrenheit: Seq[Double] = temperatures.map(convertCtoF)

}

1.5.返回值为函数

//返回值为函数类型:(String, String) => String

def urlBuilder(ssl: Boolean, domainName: String): (String, String) => String = {

val schema = if (ssl) "感谢分享" else "感谢分享"

(endpoint: String, query: String) => s"$schema$domainName/$endpoint?$query"

}

val domainName = "特别example感谢原创分享者"

def getURL = urlBuilder(ssl=true, domainName)

val endpoint = "users"

val query = "id=1"

val url = getURL(endpoint, query) // "感谢分享特别example感谢原创分享者/users?id=1": String

 
(文/尚赵若)
打赏
免责声明
• 
本文为尚赵若原创作品•作者: 尚赵若。欢迎转载,转载请注明原文出处:http://www.udxd.com/kbzx/show-113511.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们邮件:weilaitui@qq.com。
 

Copyright©2015-2023 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈