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)
}
相关推荐
开心就好20251 小时前
UniApp开发应用多平台上架全流程:H5小程序iOS和Android
后端·ios
悟空码字1 小时前
告别“屎山代码”:AI 代码整洁器让老项目重获新生
后端·aigc·ai编程
小码哥_常1 小时前
大厂不宠@Transactional,背后藏着啥秘密?
后端
奋斗小强1 小时前
内存危机突围战:从原理辨析到线上实战,彻底搞懂 OOM 与内存泄漏
后端
小码哥_常2 小时前
Spring Boot接口防抖秘籍:告别“手抖”,守护数据一致性
后端
心之语歌2 小时前
基于注解+拦截器的API动态路由实现方案
java·后端
None3212 小时前
【NestJs】基于Redlock装饰器分布式锁设计与实现
后端·node.js
初次攀爬者2 小时前
Kafka + KRaft模式架构基础介绍
后端·kafka
洛森唛2 小时前
Elasticsearch DSL 查询语法大全:从入门到精通
后端·elasticsearch
拳打南山敬老院3 小时前
Context 不是压缩出来的,而是设计出来的
前端·后端·aigc