深圳大数据学习:高阶函数–【千锋】

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) “https://” else “http://”
(endpoint: String, query: String) => s" s c h e m a schema schemadomainName/ e n d p o i n t ? endpoint? endpoint?query"
}

val domainName = “www.example.com”
def getURL = urlBuilder(ssl=true, domainName)
val endpoint = “users”
val query = “id=1”
val url = getURL(endpoint, query) // “https://www.example.com/users?id=1”: String

深圳大数据学习:高阶函数--【千锋】相关推荐

  1. 深圳大数据学习:泛型 --【千锋】

    深圳大数据学习:泛型 --[千锋] 带有一个或多个类型参数的类是泛型的. 泛型类的定义: //带有类型参数A的类定义 class Stack[A] { private var elements: Li ...

  2. 深圳大数据学习:方法的嵌套--【千锋】

    深圳大数据学习:方法的嵌套–[千锋] 方法里嵌套定义其他方法 示例1 object EmbedDemo { def add3(x:Int,y:Int,z:Int)={ def add2(x:Int,y ...

  3. 深圳大数据学习:Scala系列之文件以及正则表达式

    深圳大数据学习:Scala系列之文件以及正则表达式 7.1 读取行 导入scala.io.Source后,即可引用Source中的方法读取文件信息. import scala.io.Source ob ...

  4. 深圳Python培训学习:Python3 简介--[千锋]

    深圳Python培训学习:Python3 简介–[千锋] Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文 ...

  5. python学习-高阶函数(函数传参、返回函数(闭包)、匿名函数lambda)

    文章目录 高阶函数 函数传参 返回函数(闭包) 匿名函数lambda 高阶函数 定义: 至少满足下列一个条件: 接受一个或多个函数作为输入 输出一个函数 python里的高阶函数有 filter.ma ...

  6. Kotlin 学习 高阶函数

    摘自第一行Android代码第3版 定义 如果一个函数接收另一个函数作为参数,或者返回值的类型是另一个和函数,那么该函数就称为高阶函数 // 语法示例 (String,Int) -> Unit ...

  7. python学习总结1—高阶函数

    python 高阶函数学习 高阶函数 介绍python 高阶函数的使用方法 map/reduce函数 map函数 利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字. ...

  8. c2064 项不会计算为接受0个参数的函数_【JS必知必会】高阶函数详解与实战

    本文涵盖 前言 高级函数概念 函数作为参数的高阶函数 map filter reduce sort详解与实战 函数作为返回值的高阶函数 isType函数与add求和函数 如何自己创建高阶函数 前言 一 ...

  9. react中高阶函数与高阶组件的运用—(上)(案例详细解释高阶函数)

    前言 学习react的同学多多少少对高阶组件有所耳闻,想要学好高阶组件就必须先学好高阶函数的运行,本篇文章就先从高阶函数着手,带大家学习高阶函数和高阶组件的运用 高阶函数 高阶函数(High Orde ...

最新文章

  1. 重磅!「肠道菌群」项目征集,百万科研经费助力细分领域全新突破
  2. opencv_contrib编译失败解决方法
  3. python_控制台输出带颜色的文字方法
  4. python测试开发自学教程-【光荣之路】Python全栈测试开发课程
  5. 国家哀悼日网站变灰的样式
  6. Linkis源码目录结构详解
  7. java oca_OCA第6部分中的Java难题
  8. jquery table ajax,JQuery Ajax动态加载Table数据的实例讲解
  9. 关于eclipse的indigo版中文注释时字体太小的问题(转)
  10. 【opencv】【mediapipe】手势检测的有趣玩法
  11. kuboard使用mysql_基于 Kubernetes 的微服务图形化管理界面 Kuboard
  12. Python读写Excel文件中指定区域单元格内容
  13. linux 中两个文档怎么对比内容是否一致
  14. 基于STM32的光照度自动调节系统
  15. Pytorch笔记:风格迁移
  16. Substrate 基础 -- 教程(Tutorials)
  17. codeforces 332b Maximum Absurdity dp
  18. 查看word的版本型号
  19. 丹佛斯变频器al13故障_丹佛斯变频器常见故障维修
  20. Web前后端缓存技术

热门文章

  1. HWND CDC HDC的转换
  2. 【思维进阶】新手小白如何练习写作
  3. java 动态规划找零钱_初探动态规划——LeetCode找零钱问题
  4. C语言 char c = 255
  5. 给新手学习MySQL的建议
  6. 动态规划—钢管切割问题
  7. 【给程序员英语学习的一些建议】我是乔治老师,我在这里播报。
  8. 基于遗传算法优化的BP神经网络算法
  9. Mac通过aapt获取apk文件的基本信息
  10. 微软雅黑html中怎么写,css如何设置字体为微软雅黑?