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)
}
相关推荐
WZTTMoon33 分钟前
Spring Boot 4.0 迁移核心注意点总结
java·spring boot·后端
疯狂的程序猴44 分钟前
iOS App 混淆的真实世界指南,从构建到成品 IPA 的安全链路重塑
后端
bcbnb1 小时前
iOS 性能测试的工程化方法,构建从底层诊断到真机监控的多工具测试体系
后端
开心就好20251 小时前
iOS 上架 TestFlight 的真实流程复盘 从构建、上传到审核的团队协作方式
后端
小周在成长1 小时前
Java 泛型支持的类型
后端
aiopencode1 小时前
Charles 抓不到包怎么办?HTTPS 抓包失败、TCP 数据流异常与底层补抓方案全解析
后端
稚辉君.MCA_P8_Java1 小时前
Gemini永久会员 C++返回最长有效子串长度
开发语言·数据结构·c++·后端·算法
Penge6662 小时前
Redis-bgsave浅析
redis·后端
阿白的白日梦2 小时前
Windows下c/c++编译器MinGW-w64下载和安装
c语言·后端