scala中的基础函数补充
来源:互联网 发布:图片数字识别软件 编辑:程序博客网 时间:2024/05/28 03:04
关于函数的几个关键点:
1.函数是用def定义的
2.函数会自动进行类型的推断来确定返回值,但是如果没有等于号,则推断失效
3.函数的参数可以是函数,因为在scala中函数是对象
4.如果在函数中无法推导出返回值类型,则需声明具体类型
5.函数参数的顺序可以改变,只需要使用参数名
package kang/*关于函数的几个关键点1.函数是用def定义的2.函数会自动进行类型的推断来确定返回值,但是如果没有等于号,则推断失效3.函数的参数可以是函数,因为在scala中函数是对象4.如果在函数中无法推导出返回值类型,则需声明具体类型5.函数参数的顺序可以改变,只需要使用参数名 */object scala_function {def main(args: Array[String]): Unit = {println(sayHello("xiaoming",23))println(sayHello2("xiaoming",23))println("fibonacci(10)的值为: "+fibonacci(10))sayHello2(age=13,name="xiaohua")sayHello3(name="xiaohua")println(sum (0 to 10: _*))println("---")println(sumrecursive(0 to 10: _*))}def sayHello(name:String,age:Int)={//返回值为Unit,根据最后一行推断println("hello my name is "+name)println("hello my age is "+age)//println返回值Unit}def sayHello2(name:String,age:Int)={//返回值为Int,根据最后一行推断println("hello my name is "+name)println("hello my age is "+age)age}def sayHello3(name:String,age:Int=20)={//返回值为Int,根据最后一行推断,并且具有参数默认值age=20println("hello my name is "+name)println("hello my age is "+age)age}def sum (nums: Int*){var result=0;for(num <- nums) result+=num result}def sumrecursive(nums:Int*):Int={if(0==nums.length) 0else nums.head+sumrecursive(nums.tail: _*)}//定义函数//F(n)=F(n-1)+F(n-2)显然这是一个线性递推数列。def fibonacci(n:Int):Int = {//很恐怖的裂变if(n<=1) 1else fibonacci(n-2)+fibonacci(n-1)}}
阅读全文
0 0
- scala中的基础函数补充
- Scala 中的函数式编程基础
- Scala基础之函数
- Scala 补充
- Scala中的本地函数
- scala中的函数
- Scala中的函数
- scala中的s函数
- scala中的函数
- 3.Scala中的函数
- scala中的偏函数
- scala中的柯里化函数
- 【scala 笔记(5)】 Scala中的函数
- scala基础5-函数进阶
- scala基础23-内部函数
- Scala 之 函数----基础篇
- Scala中的高阶函数
- Scala中的String.split函数
- spark之4:基础指南(源自官方文档)
- 论文笔记:GoogLenet
- 时钟
- 字符串和基本数据类型之间的转换
- 自组织特征映射网络(SOFM)
- scala中的基础函数补充
- [NOIP提高组2001]Car的旅行路线
- varcahr、char、int、decimal、double、round()、floor()、ceiling()
- 手把手教你用PS软件绘制绿帽子林克
- 数据库视频总结(二)
- Celery消息队列----路由任务
- C# Log4j 动态配置日志目录
- Uva699 The Falling Leaves
- 构建scala+IDEA+sbt开发环境