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)
}
相关推荐
苏三说技术2 小时前
聊聊Redisson最常见的8个坑
后端
学长毕设5 小时前
基于SpringBoot的野生动物公益保护平台设计与实现-附源码
java·spring boot·后端
梦里寻码5 小时前
我用 NestJS + Vue3 写了一套完整的研发管理系统(58 表 / 229 API / 130 项断言,全开源
前端·后端·算法
鶴哥只手遮天5 小时前
《Redis 8.10.3 深度剖析》系列 ·第 10 章 Hash 一:`listpack`、`hashtable` 与 `LISTPACK_EX`
redis·后端·开源
johnjincaaaa5 小时前
WebAssembly 逆向实战:从 0 搞懂猿人学第 15 题
后端
Gopher_HBo5 小时前
Go CPU 剖析:四角色白话机制 + 实测实验
后端
猿人谷5 小时前
Surrogate Model:让进化算法学会“预测”,为什么它正在成为智能优化的重要技术?
后端·算法·架构
the局外人6 小时前
LangChain ToolRuntime 入门:context、state 与 store 的实际用法
后端·langchain·agent
回家路上绕了弯6 小时前
当 AI 越来越能干,我们如何理解自己的价值?
后端