/**
* Scala 方法与函数
* Scala 有方法与函数,二者在语义上的区别很小。Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法
*/
object sayHello { def main(args: Array[String]): Unit = { sayHello("yexj")
printf("\n")
sayHello("yexj", "ben", "fox")
printf("\n")
// 带名参数,可以与不带名的混合使用,也可以调整顺序
sayHello("yxj", lastName = "llast", middleName = "midd")
printf("\n") // 变长参数的使用
val s = sum(1, 2, 4, 5, 6, 7, 8, 9, 34, 3, 2)
printf("the sum is %d", s) printf("\n") // 使用下面这种序列调用函数是不行的,报错
// sum(1 to 5)
// 需要使用到scala特殊的语法,具体为:
val s1 = sum(1 to 5: _*)
printf("the s1 =" + s1)
} // 函数参数
def sayHello(name: String) = {
printf("hello %s,how are you?", name)
name
} // 参数的返回值,不用return,最后的age就是函数返回值,scala会推断出返回值类型
def sayHello(name: String, age: Int) = {
printf("hi %s,your age is %d", name, age)
age
} /**
* 参数带有默认值的
*
* @param firstName
* @param middleName
* @param lastName
*/
def sayHello(firstName: String, middleName: String = "-", lastName: String = "Jerry") = {
printf("firstName=" + firstName + ",middleName=" + middleName + ",lastName=" + lastName)
} /**
* 变长参数,不确定具体有多少个入参值
*
* @param nums
*/
def sum(nums: Int*) = {
var result = 0;
for (num <- nums) {
result += num;
}
result
} }

  

Scala 方法与函数简单记录的更多相关文章

  1. Scala 方法与函数

    Scala 方法与函数:http://www.runoob.com/scala/scala-functions.html Scala 有方法与函数,二者在语义上的区别很小.Scala 方法是类的一部分 ...

  2. Scala 方法和函数

    package com.bigdata // /** Scala 方法和函数:Scala中既有函数也有方法,大多数情况下我们都可以不去理会他们之间的区别. * * 方法:Scala 中的方法跟 Jav ...

  3. Scala语言学习笔记——方法、函数及异常

    1.Scala 方法及函数区别 ① Scala 有方法与函数,二者在语义上的区别很小.Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量.换句话来说在类中定义的函数即是方法 ② Scal ...

  4. 学好Spark/Kafka必须要掌握的Scala技术点(一)变量、表达式、循环、Option、方法和函数,数组、映射、元组、集合

    前言 Scala是以JVM为运行环境的面向对象的函数式编程语言,它可以直接访问Java类库并且与Java框架进行交互操作.正如之前所介绍,Spark是用Scala语言编写的,Kafka server端 ...

  5. Scala方法定义,方法和函数的区别,将方法转换成函数

    1. 定义方法和函数 1.1. 定义方法 方法的返回值类型可以不写,编译器可以自动推断出来,但是对于递归函数,必须指定返回类型 1.2. 定义函数 1.3.方法和函数的区别 在函数式编程语言中,函数是 ...

  6. scala 学习笔记二 方法与函数

    1.介绍 Scala 有方法与函数,二者在语义上的区别很小.Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量.换句话来说在类中定义的函数即是方法. Scala 中的方法跟 Java 的 ...

  7. scala流程控制语句以及方法和函数

    1.if else表达式 scala中没有三目运算符,因为根本不需要.scala中if else表达式是有返回值的,如果if或者else返回的类型不一样,就返回Any类型(所有类型的公共超类型). 例 ...

  8. Scala基础:定义变量和逻辑判断语句以及方法和函数

    定义变量和逻辑判断语句 package com.zy.scala import scala.collection.immutable object ScalaDemo { def main(args: ...

  9. Scala学习笔记(三)—— 方法和函数

    1. 方法 方法使用 def 定义: def 方法名(参数名:参数列表,…) :返回值类型 = { 方法结构体 } scala> def add(x : Int ,y : Int):Int = ...

随机推荐

  1. C语言static和局部变量

    #include <stdio.h> void test(); int main() { /************************************************ ...

  2. robotframework+python3+selenium之常用情景---第四集

    1.切换浏览器 2.切换frame/iframe 3.截图保存 3.1导入Screenshot包 3.2 编写自动化测试之截图 4.后续再补充

  3. final、finally和finalized的区别?

    (1)final:被final修饰的类,不被能继承:被final修饰的方法,不能被重写:被fianl修饰的量,为常量,只能被赋值一次: (2)finally:异常处理,和try.catch结合使用,可 ...

  4. 视频质量评测标准——VMAF

    阿里云视频云直播转码每天都会处理大量的不同场景.不同编码格式的直播流.为了保证高画质,团队借助VMAF标准来对每路转码的效果做质量评估,然后进行反馈.调优.迭代.这么做的原因在于,像动作片.纪录片.动 ...

  5. iptables开通某些端口

    #!/bin/bash #define all variance or parameter WAH_INT="eth0" WAH_INT_IP="222.222.101. ...

  6. hive shell参数

    Hive Shell参数 1.Hive命令行 语法结构 hive [-hiveconf x=y]* [<-i filename>]* [<-f filename>|<-e ...

  7. NX二次开发-UFUN单对象选择对话框UF_UI_select_with_single_dialog

    #include <uf.h> #include <uf_ui.h> ], void* user_data, UF_UI_selection_p_t select) { if ...

  8. Python codecs小Tips

    Python codecs小Tips 用codecs.open读进来的字符串都是unicode表示的.

  9. bash数组总结

    bash数组操作 bash支持两种数组,一种是索引数组,一种是关联数组 索引数组 数组的值类型是任意的,索引也未必一定要连续,当做列表理解更好 下面总结下索引数组,即列表: 1. 声明 declare ...

  10. Django中的HttpResponse和JsonResponse

    Django中的HttpResponse和JsonResponse 我们在编写一些借口函数的时候,经常需要给调用者返回json格式的数据,那么如何返回可直接解析的数据呢? 首先第一种方式: from ...