![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
scala3-basic
文章平均质量分 50
scala3基础内容
singkingcho
这个作者很懒,什么都没留下…
展开
-
scala3-repl
如果我们需要研究一些小的知识点,直接建立一个项目有点麻烦,这个时候可以利用简单的交互环境来实验即可进入交互解释器scala可以看到这个环境会自动评估我们键入的内容,并且输出repl含义readevalprintloop结合四个单词意思就很明确了循环读取评估打印...原创 2021-09-24 23:33:19 · 138 阅读 · 0 评论 -
scala3-if
scala2的if基本的模式是if (condition) { }val age = 18if (age == 18) { println("成年了")}如果只有一行,可以省略 {}val age = 18if (age == 18) println("成年了")也可以之前将内容行写在if所在行val age = 18if (age == 18) println("成年了")if后的()是不可以省略的哦scala3的ifscala3开始原创 2021-09-23 17:16:37 · 140 阅读 · 0 评论 -
scala3-array
数组概念同类型数据的集合,长度固定创建数组val arr = new Array[Int](3)数字3代表元素类型,Int是数据类型,元素默认值,根据类型决定这里就是0访问指定元素通过索引访问,注意使用()非[],因为其本质是在调用方法val arr = new Array[Int](3)println(arr(1))等价于下面的写法val arr = new Array[Int](3)println(arr.apply(1))修改元素val arr = new Array原创 2021-09-24 11:47:56 · 65 阅读 · 0 评论 -
scala3-tuple
元组概念Java里面没有这个概念,类似python这样的语法内置了元组,所谓元组就是一种可以包含不同数据类型的数据集比如我们同时描述一个人的年龄,狗的名称,和你喜欢的球员,并且我们只是简单的使用,并不会大面积的复用,这个时候你怎么做构建多个变量构建一个Java类模型承载数据元组创建元组比如我们创建三个元素的元组val tp = new Tuple3(18,"小黄","wade")数字3代表几个元素,这种写法稍显啰嗦,scala提供了更简单的方式,前面的new以及Tuple都省略va原创 2021-09-23 16:50:45 · 159 阅读 · 0 评论 -
scala3-set
set概念一组无序数据集set创建val set = Set( "martin", "james", 999, 334, "love")println(set)默认使用的set是val Set = immutable.Set也就是不可改变的是Set大部分都是集合类通用方法,其中的head,tail等操作和List中定义的是一样的,不在这里单独描述,集合类数据通用方法文章里面单独研究...原创 2021-09-24 16:49:55 · 57 阅读 · 0 评论 -
scala3-map
map概念键值映射的集合map创建val map = Map( "maxAge"->200, 20 -> "贰拾")注意符号->根据key获取值val map = Map( "maxAge"->200, 20 -> "贰拾")println(map.get(20))println(map.get("maxAge"))注意get的是Some类型Some(贰拾)Some(200)如果没有对应的keyprintln(map.ge原创 2021-09-24 16:38:53 · 92 阅读 · 0 评论 -
scala3-string
字符串概念一组字符的集合,Scala的字符串就是Java的字符串,在Predef.scala中有明确的定义:type String = java.lang.String既然这样,对Java字符串有足够了解,就不必重复这些了,我们只研究下插值字符串的问题插值字符串共有三种模式fsrawf模式val price = 63.0000println(f"价格是:$price")结果显示价格是:63.0f其实是格式化的意思,这里没有格式化符号修饰,默认后面的多余原创 2021-09-24 12:47:03 · 73 阅读 · 0 评论 -
scala3-case-class-basic
case class 概念样例类,scala针对这种特殊类提供很多默认的方便的功能,更重要的是,和模式匹配完美配合case class createcase class Fruit(name:String,weight:Double):end Fruitcase class instance createval fruit = Fruit("苹果",23.5)case class背后的工作scala会针对case class创建对应的伴生对象,并且自动重写了部分方法toString原创 2021-09-24 18:07:01 · 95 阅读 · 0 评论 -
scala3-trait-basic
特质概念Scala没有提供Java中的接口概念,取而代之是一个更强大的特质概念定义特质和定义class类似,修饰词由class变为traittrait A:end A特质里面可以包含很多成分,我们先看下方法特质方法特质和类类似,可以有方法,字段等,我们先看方法,特质中的方法如果给出方法体就是具体的,否则位抽象的,不用添加abstract修饰trait Cheatable: // 抽象方法 def cheat():Unit // 具体方法 def beauty():Uni原创 2021-09-25 20:20:43 · 104 阅读 · 0 评论 -
scala-pattern-match-basic
模式匹配概念对数据进行深度分解和检查的一个功能,极其强大涉及到两个术语:extraction 提取deconstruction 解构在后面深入分析他俩基础语法类比Java中的swith选择器 match {分支们}每个分支就是一个模式,都是以case作为开头我们要研究有哪些模式模式类型通配模式常量模式变量模式构造方法模式序列模式元组模式附带类型模式通配模式意思就是啥都能匹配def myMatch(x:Any) = x match { case _原创 2021-09-26 13:41:25 · 155 阅读 · 0 评论