scala 函数类?

一: 函数的基本使用

arduino 复制代码
//返回值:
//1.指定返回值类型
//2.函数内 最后一个表达式(最后一句代码)就是函数的返回值
//3.Unit 表示这个函数没有返回值(void)

//参数:
//1.如果没有参数 在定义函数时 可以省略() 在调用函数的时候 就不能添加()

二: 定义函数

scss 复制代码
// 作用:找到x y中的较大者
def max(x: Int,y: Int):Int = {
  if(x > y )
    x
  else
    y
}


 //如果没有参数 可以省略()
  def say():Unit = {
    println("hello world!")
  }


  def main(args: Array[String]): Unit = {

    say()

    var rst = max (2,3)//调用函数
    println(s"2和3的较大者是:${rst}")
  }
}
kotlin 复制代码
// 定义函数
// 作用:找到x y z中的最大者
def max(x: Int,y: Int,z: Int):Int = {
  //自行修改代码 完成功能
  if(x > y )
    x
  else
    y
}


def main(args: Array[String]): Unit = {

  var rst = max (2,3,100)//调用函数
  println(s"较大者是:${rst}")
}

三: 函数返回多个数据

kotlin 复制代码
//作用:找到x y z中的最大者 和 最小值
//(Int,Int)是返回值的类型 表示这个函数的返回值中有两个整数

def max(x:Int,y:Int,z:Int) = {
  var maxValue = if(x > y) x else y  //x y的较大值
  maxValue = if (maxValue >z) maxValue else z

  var minValue = if(x < y) x else y
  minValue = if (minValue < z) minValue else z

  //返回一个容器 包含两个值
  (minValue,maxValue)
}

def main(args: Array[String]): Unit = {
  var rst = max(100,20,200) //调用函数
  println(s"最小值是:${rst._1},较大者是:${rst._2}")
}

四: 元组

arduino 复制代码
def main(args: Array[String]): Unit = {
  // 元组:把数据放在一个容器
  var rst = (1,"a",1.75,"hello",true,2)
  // 访问元组的数据  ._数学编号
  println(rst._6)
}

五:参数默认值

scss 复制代码
//参数默认值:如果在调用的时候 没有传入 就使用这个默认值
def greet(name:String="小张",age:Int=17,gender:String="女"):Unit = {
  println(s"你好,我是${name},今年${age}岁,性别是:${gender}")
}

def main(args: Array[String]): Unit = {
  greet ("小王",18,"女")
  greet("小王",18)
  greet("小王")
  greet()
  
  //设置年龄为20,其他两个参数使用默认值
  greet(age=20)
  greet(gender="男",age=20)
}
相关推荐
wing9818 分钟前
人生第一个私活:不到 2 小时,到手 350 元
前端·后端·程序员
全栈弄潮儿1 小时前
Python实战第9期:文件操作
后端·python·编程语言
神魔皆以血嗜1 小时前
Java 实现简单状态机(订单状态流转)
java·后端
zz在掘金337081 小时前
MongoDB 脚本速查
后端
随性而行3601 小时前
企业微信 API 如何实现业务消息自动通知?接口应用场景解析
java·人工智能·后端·微信·机器人·企业微信
Mav1 小时前
[个人学习记录]从零构建高性能 LLM 推理网关:长连接优雅停机(Graceful Drain)、K8s 探针联动与 Context 底层哲学
后端
团子哒哒1 小时前
变量、常量和数据类型
后端
zz在掘金337081 小时前
Redis 脚本速查
后端
初见月1 小时前
适配器模式详解+对象透传治理
后端
怕浪猫2 小时前
3 小时搭一个能用的聊天机器人后端,我用了这套技术栈
后端·面试·github