`

学习scala笔记--18 scala 函数基础

 
阅读更多

 

 

 

 

scala  函数编程

 

 

 

 

 

scala 中的函数式一等公民   可以独立存在   可以将函数作为值赋给变量

 

 

scala> def sayHello(name:String) {println(" hello "+name)}

sayHello: (name: String)Unit

 

scala> sayHello("cat")

 hello cat

 

注意这里的 空格 下划线

scala> val sayHelloFunc = sayHello _

sayHelloFunc: String => Unit = $$Lambda$1210/524541191@26db2470

 

 

scala> sayHelloFunc(" hadoop ")

 hello  hadoop 

 

 

 

 

----------------------------------

 

匿名函数

 

注意这里的 =>

 

scala> val helloFunc = (name:String)=>{ println("--hello--"+name)}

helloFunc: String => Unit = $$Lambda$1221/1679266544@472bf56c

 

scala> helloFunc(" scala ")

--hello-- scala 

 

scala> 

 

 

 

----------------------------------

 

 

高阶函数  

 

接收函数作为参数

 

scala> val helloFunc = (name:String)=>{ println("--hello--"+name)}

helloFunc: String => Unit = $$Lambda$1222/1726168677@2c3d1e97

 

scala> def greeting(func:(String)=> Unit ,name:String){ func(name)}

greeting: (func: String => Unit, name: String)Unit

 

scala> greeting(helloFunc," hive ")

--hello-- hive 

 

----------------------------------

 

 

函数的返回值 为函数

 

scala> def mulBy(factor:Double)=(x:Double)=>factor*x

mulBy: (factor: Double)Double => Double

 

scala> val mulBy2 = mulBy(2)

mulBy2: Double => Double = $$Lambda$1350/973028061@775d7f5d

 

scala> mulBy2(1)

res18: Double = 2.0

 

scala> mulBy2(2)

res19: Double = 4.0

 

scala> mulBy2(3)

res20: Double = 6.0

 

 

----------------------------------

分享到:
评论

相关推荐

    Scala-学习资料-mht.rar

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的特性,使得它在处理并发、大数据分析以及构建高性能系统时表现卓越。在"Scala-学习资料-mht.rar"这个压缩包中,包含了关于Scala的学习资料,格式为...

    Scala学习笔记(全)

    ### Scala学习笔记(全) #### 一、Scala概述与特点 Scala是一种多范式的编程语言,旨在集成面向对象编程和函数式编程的各种特性。它运行于Java平台(Java虚拟机JVM),并且能够完全兼容所有的Java程序。这使得Scala...

    scala学习笔记整理

    在"scala学习笔记整理"中,我们可以深入探讨以下关键知识点: 1. **基础语法**:Scala的基础语法与Java有相似之处,但也有很多独特的特点。例如,它支持变量的不可变性(immutability),使用`val`声明常量,`var`...

    scala-advanced:Scala先进

    练习题-Scala函数式编程 函数式编程思想进阶 × scala-谜题 巩固基础 × scalatest 类库 类库扩展 × scala-json 操作(json4s) 类库扩展 √ shapeless 泛型编程库 类库扩展 × scala-app-cats cats 库相关操作 ...

    学习scala好的项目

    在"scala-study"这个文件夹中,可能包含的子文件有练习代码、笔记、教程文档等,这些都是学习过程中的宝贵资料。通过这些资源,初学者可以逐步了解如何使用Scala编写Spark程序,包括如何创建SparkSession、加载数据...

    Scala学习笔记

    ### Scala学习笔记关键知识点 ...以上内容涵盖了Scala学习笔记中的关键知识点,从并发编程到函数式编程的核心概念,再到Scala语言本身的一些特殊规则和特点,这些都是学习Scala时需要掌握的基础知识。

    scala讲解笔记 入门及进阶 PDF文档1-5

    在这里,你会学习到Scala的安装与环境配置,理解Scala的基本语法,包括变量声明、数据类型(如基本类型、引用类型和集合类型)、控制结构(如条件语句和循环)以及函数定义和调用。此外,还会介绍Scala中的模式匹配...

    scala.rar基础知识,笔记很好的详细

    Scala学习资源Scala编程语言抓住了很多开发者的眼球。如果你粗略浏览Scala的网站,你会觉得Scala是一种纯粹的面向对象编程语言,而又无缝地结合了命令式编程和函数式编程风格。Christopher Diggins认为: 不太久...

    Scala详细总结(精辟版++)

    - **函数式编程**:Scala同时也是一个成熟的函数式编程语言,支持高阶函数、模式匹配等功能。 - **类型推断**:Scala具有强大的类型推断机制,这使得开发者可以在很多情况下省略类型声明。 - **模式匹配**:提供了一...

    scala的操作笔记

    ### Scala的操作笔记 #### 一、课程目标与学习路径 本课程旨在通过三个阶段的目标来逐步深入学习Scala语言,最终能够灵活运用Scala进行Spark程序的开发,并具备阅读Spark内核源码的能力。 - **初级目标**:掌握...

    scala学习资料

    Scala是一种强大的、现代的编程语言,它融合了面向对象编程(OOP)和函数式编程(FP)的特性,为开发者提供了丰富的表达能力和高效的代码执行环境。作为Java平台上的一个成员,Scala程序可以在Java虚拟机(JVM)上...

    Testing in Scala-带书签目录超清文字版.pdf

    1. **Scala基础**:首先,书籍可能会介绍Scala的基础语法,如类型系统、模式匹配、高阶函数和类、特质等,这些都是编写测试代码的基础。 2. **Scala测试框架**:Scala社区中有多个流行的测试框架,如ScalaTest、...

    读书笔记:scala函数编程.zip

    读书笔记:scala函数编程

    utility_Scala:Scala编程语言基本和函数式编程(fp)和Spark Scala基本演示| #SE

    -Scala学习注意事项 主要档案 适用于实用程序的Scala脚本 -Scala spark基本演示 Scala基本-变量,数据结构 -Scala基本数据结构: array, list, tuple ,应用function, lambda带有它们的function, lambda基本。 和...

    读书笔记:《scala函数式编程》书本学习代码.zip

    读书笔记:《scala函数式编程》书本学习代码

    Scala初学者入门课程笔记

    Scala 初学者入门课程笔记 Scala 是一种多范式编程语言,支持面向对象编程、函数式编程和逻辑编程。...Scala 是一种功能强大且灵活的编程语言,掌握 Scala 基础语法和函数式编程是学习 Scala 的基础。

    scala-learn:scala学习笔记

    本教程“scala-learn:scala学习笔记”旨在帮助初学者深入理解Scala的基础知识,同时也为有经验的程序员提供了一个复习和提升的平台。 1. **基础语法与数据类型** Scala的基础语法简洁而强大,包括变量声明(val和...

    scala.rar学习笔记和心得

    Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。 Scala 运行在Java虚拟机上,并兼容现有的Java程序。 Scala 源代码被编译成Java字节码,所以它可以运行于...

    scala学习笔记

    以上内容覆盖了 Scala 编程语言的核心知识点,从基本语法到高级特性,为初学者提供了一个全面的学习指南。Scala 是一门功能强大且灵活的语言,适合于构建大型的、复杂的软件系统。希望这些知识点能够帮助读者更好地...

Global site tag (gtag.js) - Google Analytics