首页 > 其他分享 >每日总结

每日总结

时间:2024-02-23 21:44:04浏览次数:25  
标签:总结 return 函数 Scala Int 每日 方法 def

Scala 方法与函数

Scala 有方法与函数,二者在语义上的区别很小。Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。

Scala 中的方法跟 Java 的类似,方法是组成类的一部分。

Scala 中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。

Scala 中使用 val 语句可以定义函数,def 语句定义方法。

class Test{
  def m(x: Int) = x + 3
  val f = (x: Int) => x + 3
}

注意:有些翻译上函数(function)与方法(method)是没有区别的。


方法声明

Scala 方法声明格式如下:

def functionName ([参数列表]) : [return type]

如果你不写等于号和方法主体,那么方法会被隐式声明为抽象(abstract),包含它的类型于是也是一个抽象类型。


方法定义

方法定义由一个 def 关键字开始,紧接着是可选的参数列表,一个冒号 : 和方法的返回类型,一个等于号 = ,最后是方法的主体。

Scala 方法定义格式如下:

def functionName ([参数列表]) : [return type] = {
   function body
   return [expr]
}

以上代码中 return type 可以是任意合法的 Scala 数据类型。参数列表中的参数可以使用逗号分隔。

以下方法的功能是将两个传入的参数相加并求和:

实例

object add{
   def addInt( a:Int, b:Int ) : Int = {
      var sum:Int = 0
      sum = a + b

      return sum
   }
}

如果方法没有返回值,可以返回为 Unit,这个类似于 Java 的 void, 实例如下:

实例

object Hello{
   def printMe( ) : Unit = {
      println("Hello, Scala!")
   }
}

方法调用

Scala 提供了多种不同的方法调用方式:

以下是调用方法的标准格式:

functionName( 参数列表 )

如果方法使用了实例的对象来调用,我们可以使用类似java的格式 (使用 . 号):

[instance.]functionName( 参数列表 )

以上实例演示了定义与调用方法的实例:

实例

object Test {
   def main(args: Array[String]) {
        println( "Returned Value : " + addInt(5,7) );
   }
   def addInt( a:Int, b:Int ) : Int = {
      var sum:Int = 0
      sum = a + b

      return sum
   }
}

执行以上代码,输出结果为:

$ scalac Test.scala 
$ scala Test
Returned Value : 12

Scala 也是一种函数式语言,所以函数是 Scala 语言的核心。以下一些函数概念有助于我们更好的理解 Scala 编程:

标签:总结,return,函数,Scala,Int,每日,方法,def
From: https://www.cnblogs.com/baijingyun/p/18030428

相关文章

  • abc340比赛总结
    写在前面作业还没有写完,简单写一下吧,做题过程中的感受就不会写那么详细了。A比较简单,就是个等差数列,数据范围很小,随便切。B简单的题目,但是我罚时了四次。把题目看错了,下次注意。C规律一开始没有推出来,写了个不带记忆化的\(O(logn)\)的深搜(没带记忆化所......
  • 多模态大模型总结
    两类多模态大模型原生多模特模型和多个单模型拼接原生多模态模型意味着这些模型是从一开始的设计阶段,就是用于处理多种模态(包括文本、图像、音频、视频等)的数据。把不同的单个模型拼接起来使得模型具备多模态能力这种做法也比较好理解,比如之前社区开源的Qwen-VL[1],它就是Qwen-7B......
  • 2023年年度总结
    一年时间总感觉做不完很多事情,能够持续连续不间断做一件事情真的很难,2023年在出差半年的时间中跌宕度过,有收获也有辛酸,对所在公司充满迷茫,职业发展更是不知道做的对不对。年龄每加一岁,就越是充满焦虑不安,到底要往哪边发力,要说2023年的经历,其实那就是做了一些事情但是也没有做好一......
  • c# 格式化数字 ToString方法使用总结
    decimala11=100100.01m;decimala12=100100.51m;decimala13=100100.50m;decimala14=100100.00m;decimala15=100100.55m;decimala16=100100.54m;Console.WriteLine("#.##输出");Console.WriteLine(a11.ToString("#.##"));Console.......
  • (笔记)Linux基础知识点总结
     一、从认识操作系统开始 1、操作系统简单分类Windows​目前最流行的个人桌面操作系统,不做多的介绍,大家都清楚。界面简单易操作,软件生态非常好。Unix​最早的多用户、多任务操作系统。后面崛起的Linux在很多方面都参考了Unix。目前这款操作系统已......
  • 20240219比赛总结
    T1素数https://gxyzoj.com/d/hzoj/p/3598先预处理出32767以下的质数,再用双指针求解#include<cstdio>usingnamespacestd;intp[32767],m,n,ans,x;boolvis[32768];voidprime(){ for(inti=2;i<=32767;i++) { if(!vis[i])p[++m]=i; for(intj=1;i*p[j]<=32767;j+......
  • 20240222比赛总结
    T1打赌https://gxyzoj.com/d/hzoj/p/3642一道大模拟,容易发现,连续的4个数的和为14,这些直接求和,其余暴力处理即可代码:#include<cstdio>#definelllonglongusingnamespacestd;intr,c,x[10]={1,6,4,3,2,5};llans;voidLeft(){ inta=x[0],b=x[1],c=x[2],d=x[3]; x[......
  • 20240221比赛总结
    T1排序https://gxyzoj.com/d/hzoj/p/3610根据代数的内容,容易得到:若\(a\geb\gec\ged\),则有\(ab-cd\geac-bd\gead-bc\)所以,只需要前2n个一大一小搭配,后2n个两两搭配,即为答案代码:#include<cstdio>#include<algorithm>#defineullunsignedlonglongusingnamespaces......
  • 每日导数69
    端点效应与适当放缩已知函数\(f(x)=e^x+\cosx-2,g(x)=\sinx\)(1)证:当\(x>0\)时,\(g(x)<x<f(x)\)(2)若\(x>0,f(x)+g(x)>ax\)恒成立,求\(a\)的取值范围.解(1)左边经典不等式,略右边:\(x<e^x+\cosx-2\)即证\(e^x+\cosx-2-x>0\)记\(\varphi(x)=e^x+\cosx-2-x,\va......
  • 读千脑智能笔记13_读后总结与感想兼导读
    1. 基本信息千脑智能AThousandBrains(美)杰夫·霍金斯浙江教育出版社,2022年9月出版1.1. 读薄率书籍总字数287千字,笔记总字数39938字。读薄率39938÷287000≈13.92%1.2. 读厚方向千脑智能脑机穿越未来呼啸而来虚拟人AI3.0新机器人人工不智能:计......