作为参数的函数 | 学习笔记

简介: 快速学习作为参数的函数

开发者学堂课程【Scala 核心编程 - 进阶作为参数的函数学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/610/detail/9089


作为参数的函数


内容介绍:

一、基本介绍

二、应用实例

三、应用实例小结


一、基本介绍

函数作为一个变量传入到了另一个函数中,那么该作为参数的函数的类型是:

function1(通过参数的个数来确定参数的函数类型,如果只有一个参数,那就是function1,有两个就是 function2),即:(参教类型)=→返回类型


二、应用实例

//说明

def plus(x: Int)= 3 +x

//说明

val result1 = Array(1,2,3,4).map(plus(_))

println(result 1.mkString(","))

演示如下:

object FunParameter {

def main( args: Array[string]) : unit = {

def plus(x: Int) = 3 +x

//说明

val result1 = Array( 1,2,3,4).map(plus(_))

printLn(result1.mkstring( ""))/(4,5,6,7)

//说明

/ /1.在scala中,函数也是有类型,比如pLus就是<function1>

println( "puls的函数类型function1" +(plus _))

}

运行结果如下:

D : \program\jdk8\bin\java

4,5,6,7

puls的函数类型function1<functiqn1>

Process finished with exit code 0


三、应用实例小结

1) map(plus(_))中的plus(_)就是将 plus 这个函数当做一个参数传给了map,_这里代表从集合中遍历出来的一个元素。

2) plus(_)这里也可以写成 plus 表示对Array(1,2,3,4)遍历,将每次遍历的元素传给plus的x

3)进行3+x运算后,返回新的Int,并加入到新的集合 result1中

4) def map[B,That](f: A=>B)的声明中的 f:A=>B一个函数

相关文章
|
算法 计算机视觉 异构计算
基于FPGA的图像RGB转HSV实现,包含testbench和MATLAB辅助验证程序
基于FPGA的图像RGB转HSV实现,包含testbench和MATLAB辅助验证程序
|
网络协议
使用MPLS LDP解决BGP路由黑洞的问题
MPLS LDP默认不为BGP路由分配标签
|
机器学习/深度学习 自然语言处理 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
701 1
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
644 5
|
前端开发 Java 数据库
SpringBoot入门(3) - 对Hello world进行MVC分层
本文介绍了如何在Spring Boot项目中实现MVC分层架构,通过将代码划分为controller、service、dao和entity四个部分,实现高内聚低耦合的设计。示例项目包括用户增删查改功能,详细展示了各层的具体实现及运行测试。
310 11
|
人工智能 Linux iOS开发
操作系统的演变:从批处理系统到现代操作系统
【10月更文挑战第27天】 本文回顾了操作系统的历史,从最早的批处理系统到现代的多任务、多用户操作系统。我们将探讨操作系统的核心概念,包括进程管理、内存管理、文件系统和设备驱动等。我们还将介绍一些著名的操作系统,如Windows、Linux和macOS,并讨论它们的特点和优势。最后,我们将展望操作系统的未来发展趋势。
404 0
|
存储 监控 安全
贴片卡的应用场景
贴片卡,通常指的是尺寸小巧、可以直接贴在或嵌入到产品、设备或表面的卡片或芯片,它们集成了电路、存储器、微处理器等电子元件。这些卡片广泛应用于多个行业和领域,以实现数据的存储、传输、认证或控制等功能。以下是贴片卡的一些主要应用场景:
|
JavaScript Java 测试技术
基于SpringBoot+Vue个人博客系统设计和实现(源码+LW+部署讲解)
基于SpringBoot+Vue个人博客系统设计和实现(源码+LW+部署讲解)
238 7
|
SQL 关系型数据库 MySQL
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
1814 0
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
Kam
|
算法 Java Linux
使用SecureRandom生成验证码随机数,线程阻塞问题记录
使用SecureRandom生成验证码随机数,线程阻塞问题记录
Kam
1088 0