package com.mengyao.scala.function

/**
 * Scala函数的声明和使用
 *
 * @author mengyao
 */
object Test1 {

//主程序的main函数定义
  def main(args: Array[String]) {

val resSum1 = sum1(1, 2);
    println(resSum1) //返回值输出为()表示Unit类型

val resSum2 = sum2(1, 2)
    println(resSum2)

val resSum3 = sum3(1, 2)
    println(resSum3)

val result1 = hello1("zhangsan");
    println(result1)

val result2 = hello2("lisi");
    println(result2)

}

//返回值为Unit类型的函数(可以理解为返回值为空),Scala中Unit关键字与Java中的void类型类似。可以直接写成def add1(a:Int, b:Int)
  def sum1(a: Int, b: Int): Unit = {
    print(a + b)
  }

//返回值为Int类型的函数
  def sum2(a: Int, b: Int): Int = {
    a + b
  }

//返回值为String类型的函数
  def hello1(name: String): String = {
    "hello " + name
  }

//返回值为Boolean类型的函数嵌套匿名函数
  def hello2(name: String): Boolean = {
    var role = {
      if (name.equals("zhangsan"))
        "admin"
      else
        "other"
    }
    if (role.equals("admin"))
      true
    else
      false
  }

//返回值为Int类型的函数中调用函数
  def sum3(a: Int, b: Int): Int = {
    val debug = sum1(a, b)
    val sum = sum2(a, b)
    if (sum.>(0))
      sum
    else
      0
  }
}

Scala-函数的更多相关文章

  1. Scala 函数(五)

    函数是一组一起执行一个任务的语句. 您可以把代码划分到不同的函数中.如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的. Scala 有函数和方法, ...

  2. Scala:函数和闭包

    http://blog.csdn.net/pipisorry/article/details/52902271 Scala函数 Scala 有函数和方法,二者在语义上的区别很小.Scala 方法是类的 ...

  3. Scala进阶之路-Scala函数篇详解

    Scala进阶之路-Scala函数篇详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.传值调用和传名调用 /* @author :yinzhengjie Blog:http: ...

  4. Spark记录-Scala函数

    Scala函数 Scala有函数和方法. Scala方法是一个具有名称和签名的类的一部分. Scala中的函数是一个可以分配给变量的完整对象. 函数定义可以出现在源文件中的任何位置. 不带参数的函数 ...

  5. Spark记录-Scala函数与闭包

    函数声明 Scala函数声明具有以下形式 - def functionName ([list of parameters]) : [return type] Scala 如果不使用等号和方法体,则隐式 ...

  6. [scala] scala 函数 (⑦)

    1.scala 函数定义 2.scala 高阶函数 3.匿名函数 4.柯里化 import scala.math._ /** * @author xwolf * @date 2017-04-24 9: ...

  7. 泛函编程(4)-深入Scala函数类

    既然是泛函编程,多了解一下函数自然是免不了的了: 方法(Method)不等于函数(Function) 方法不是函数但可以转化成函数:可以手工转换或者由编译器(compiler)在适当的情况下自动转换. ...

  8. scala函数定义的四种方式

    最近开始接触scala编程语言,觉得还是比较新的一个东西,虽然说和java比较像,是java的继承者,兼顾面向对象编程和函数式编程的优点,但是,终究是一个新的东西,还是要从最基本的学起.而这当中,函数 ...

  9. scala函数组合器

    1.map 在列表中的每个元素上计算一个函数,并且返回一个包含相同数目元素的列表. scala> numbers.map(_ * 2)res3: Array[Int] = Array(2, 4, ...

  10. scala学习笔记(9):Scala函数(2)

    1 指令式编程&函数式编程 指令式:imperative 风格编程.指令式风格,是你常常使用像 Java,C++和 C 这些语言里用的风格,一次性发出一个指令式的命令,用循环去枚举,并经常改变 ...

随机推荐

  1. DBMS_STATS常用方法(收集oracle信息)

    –收集数据库信息EXEC DBMS_STATS.gather_database_stats;EXEC DBMS_STATS.gather_database_stats(estimate_percent ...

  2. 判断两条直线的位置关系 POJ 1269 Intersecting Lines

    两条直线可能有三种关系:1.共线     2.平行(不包括共线)    3.相交. 那给定两条直线怎么判断他们的位置关系呢.还是用到向量的叉积 例题:POJ 1269 题意:这道题是给定四个点p1, ...

  3. excel导入mssql数据库,支持excel2003--2010文件格式

    rt,简单的excel导入mssql.未做性能及海量数据优化,一般单表5000左右条数据导入适用. 源码非原创,来源于之前搜集整理,原作者无从考究,如有版权问题请留言注明. 看代码.前台页面是一个Fi ...

  4. bootstrap字体图标

    bootstrap字体图标 http://v3.bootcss.com/components/ <!DOCTYPE HTML> <html> <head> < ...

  5. 一个打砖块的小游戏1.0 KILL THE BLOCKS !

    /******************************************** * 程序名称:MR.DUAN 的打砖块(KILL THE BLOCKS !) * 作 者:WindAutum ...

  6. Knockoutjs官网翻译系列(四) computed中依赖追踪是如何工作的

    初学者无需了解这些 ,但是很多高级程序员想知道我们为什么可以保持跟踪这些依赖以及可以正确的更新到UI中.它其实很简单.跟踪算法是这样的: 无论何时你定义了一个computed observable,K ...

  7. 检查DOM能力的函数

    var a=document.implementation.hasFeature("Core","2.0"); var b=document.implement ...

  8. Windows 7 64位下解决不能创建Django项目问题

    把djingo-admin.py的全路径写出来 在cmd命令行下直接输入python C:\Python27\Scripts\django-admin.py startproject site(sit ...

  9. 关于C++的变量和类的声明和定义

    什么是变量?变量或者叫对象,是一个有具名的.可以供程序操作的存储空间.这里具名是指变量是有名字的,可供操作是指能进行加减乘除或者输入输出等操作,存储空间则是指有一块属于它的内存空间. 为了便于说明,标 ...

  10. C#操作Excel开发报表系列整理(转)

    C#操作Excel进行报表开发系列共写了七篇,也已经有很久没有新东西了,现在整理一下,方便以后查阅,如果有写新的,会同时更新.需要注意的是因为Office的版本不同,实际的代码可能会有所不同,但是都是 ...