scala学习笔记 之 函数
来源:互联网 发布:linux查看进程端口 编辑:程序博客网 时间:2024/06/19 01:38
其实这里的函数 和 C里的函数 意思差不多 和java的方法也差不多
例如 我们写一个简单的函数
def fun(a:String,b:Int)={ println(a) println(b) }
fun("wy",33)很简单 传入一个参数a 传入一个 参数 b 分别打印出来
这里说一下语法 def 代表函数的定义 fun代表 函数名 ()里是参数列表
java中 是 (String a,int b) 在scala中 顺序有变化 是先写 参数名 然后 冒号 参数类型 ={} 中写函数体
上面函数是很简单的 分别打印 a和b 在scala中 其实可以省略参数 也就是 如果不传 可以默认一个参数值
def fun(a:String,b:Int=33)={ println(a) println(b) } fun("name")
也就是在 b参数上 默认=33 这样调用的时候 b参数 可以传也可以不传 如果不传 则b的值按33赋值
我们还可以改变 传参的顺序
def fun(a:String,b:Int=33)={ println(a) println(b) } fun(b=20,a="name")
这样我们在调用的时候 不是按照 a,b这样的一个顺序传递参数的 而是先传 b 再传 a
在调用的时候 我们指定了 b的值=20 a的值=name 这样就可以了
上述是没有返回的参数 如果定义有返回值类型的 我们来看
def fun(a:String,b:Int=33):String={ println(a) println(b) "abcde" } println(fun(b=20,a="name"))
这样 定义 :String 代表 返回值类型是String 而函数体中 并没有声明return 在scala中 默认最后一条就是返回值 运行下来的结果是
name
20
abcde
在scala中 也是支持动态参数的
def fun(a:Int*):Int={ var sum=0 for(i <- a){ sum+=i } sum } println(fun(1,2,3,4,5,6,7,8,9,10))在这里定义了一个累加函数 动态参数 在java中 是 类型后加上 ... 在scala中 类型后加 *
无论是java还是scala 动态参数 底层都是数组 集合 所以使用的时候还是要循环 调用方式一样 传多少个都行
阅读全文
0 0
- scala学习笔记之函数
- scala学习笔记 之 函数
- Scala学习笔记之Scala函数及函数式编程
- scala学习之函数
- Scala学习笔记17【Scala偏函数】
- Scala 学习笔记(六)------Scala 函数嵌套
- scala学习笔记:理解函数
- scala函数使用--学习笔记
- Scala学习笔记之Scala特性
- Scala学习笔记之Scala基础
- Scala学习笔记之Scala标准库
- scala学习笔记之数组
- Scala笔记学习之二
- Scala学习笔记之`apply`
- scala学习笔记之安装
- scala 学习笔记 之 循环
- Scala学习笔记03【学习识别Scala函数式风格】
- scala学习笔记三----scala函数式编程风格学习
- passing 'char[16]' to parameter of type 'const u8*' (aka 'const unsigned char*') converts between p
- java基础之数组的介绍
- CSS滤镜效果属性filter
- 求js数组的最大值和最小值的四种方法
- 神经网络为什么要归一化
- scala学习笔记 之 函数
- 七月读书表
- Node.js基础知识点&npm常用命令
- linux命令之eval
- JavaFx+openCv项目在win7系统部署异常(no opencv_java310 in java.library.path)
- JAVA 多线程处理大数据LIST
- 开始Python的学习之路
- 前端页面的三层构成
- 内网中传输文件