![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Scala
文章平均质量分 89
学习笔记
阿瞒有我良计15
再长的路一步步也能走完,再短的路不迈开双脚也无法到达!
展开
-
Scala Option类型,异常处理,IO,高阶函数
闭包是指一个函数,它可以访问其定义范围内的变量,即使在该函数被调用之后,这些变量仍然存在。这就是闭包的作用:它允许一个函数访问和操作它所在的作用域中的变量,即使这个函数已经离开了它所在的作用域。在这个例子中,我们可以看到闭包的实际应用,它让我们可以方便地创建一些类似于“乘法器”的函数,这些函数可以根据不同的因子来进行乘法运算。Scala 混合了面向对象和函数式的特性,在函数式编程语言中,函数是“头等公民”,它和Int、String、Class等其他类型处于同等的地位,可以像其他类型的变量一样被传递和操作。原创 2023-05-05 10:34:02 · 554 阅读 · 0 评论 -
Scala模式匹配
定义变量记录学生的姓名和年龄, 例如: "张三" -> 23, "李四" -> 24, "王五" -> 23, "赵六" -> 26。Scala中还可以使用模式匹配来匹配for表达式,从而实现快速获取指定数据, 让我们的代码看起来更简洁, 更优雅.除了上述功能之外, Scala中的模式匹配,还能用来匹配数组, 元组, 集合(列表, 集, 映射)等。所谓的守卫指的是在case语句中添加if条件判断, 这样可以让我们的代码更简洁, 更优雅.样例类型后的小括号中, 编写的字段个数要和该样例类的字段个数保持一致.原创 2023-04-19 15:54:44 · 437 阅读 · 0 评论 -
函数式编程
定义列表, 记录学生的成绩, 格式为: 姓名, 语文成绩, 数学成绩, 英语成绩, 学生信息如下: ("张三",37,90,100),("李四",90,73,81), ("王五",60,90,76), ("赵六",59,21,72), ("田七",100,100,100)解释:因为使用foreach来迭代列表,而列表中的每个元素类型是确定的, 所以我们可以通过类型推断让Scala程序来自动推断出来集合中每个元素参数的类型, 即: 在我们创建函数时,可以省略其参数列表的类型.原创 2023-04-19 14:39:56 · 443 阅读 · 0 评论 -
Scala数据结构
可变集指的是元素, 集的长度都可变, 它的创建方式和不可变集的创建方式一致,只不过需要先导入可变集类。也可以通过元组名.productIterator的方式, 来获取该元组的迭代器, 从而实现遍历元组.定义一个包含"java", "scala", "python"这三个元素的数组, 并打印数组长度.列表(List)是Scala中最重要的, 也是最常用的一种数据结构。不可变列表指的是: 列表的元素、长度都是不可变的。特点是: 唯一, 无序。有序的意思并不是排序, 而是指元素的存入顺序和取出顺序是一致的.原创 2023-04-12 15:31:40 · 512 阅读 · 0 评论 -
Scala继承和抽象,trait,样例类
实际开发中, 我们发现好多类中的内容是相似的(例如: 相似的属性和行为), 每次写很麻烦. 于是我们可以把这些相似的内容提取出来单独的放到一个类中(父类), 然后让那多个类(子类)和这个类(父类)产生一个关系, 从而实现子类可以访问父类的内容, 这个关系就叫: 继承.因为scala语言是支持面向对象编程的,我们也可以使用scala来实现继承,通过继承来减少重复代码。定义一个show()方法, 该方法需要传入一个Person类型的对象, 然后调用Person类中的sayHello()方法.原创 2023-04-07 11:09:11 · 490 阅读 · 0 评论 -
Scala中的类和对象
scala中是没有static关键字的,要想定义类似于Java中的static变量、static方法,就要使用到scala中的单例对象了, 也就是object.创建"测试"对象,不传入姓名参数,仅指定年龄为30,打印对象的姓名和年龄。在伴生对象中定义apply方法,实现创建Person对象的免new操作.类可以有自己的行为,scala中也可以通过定义成员方法来定义类的行为。创建"李四"对象(姓名为李四,年龄为24),打印对象的姓名和年龄。创建"空"对象,不给构造器传入任何的参数,打印对象的姓名和年龄。原创 2023-03-31 10:06:05 · 749 阅读 · 0 评论 -
Scala基础知识
for结构可以在每次执行的时候创造一个值,然后将包含了所有产生值的集合作为for循环表达式的结果返回,集合的类型由生成器中的集合类型确定。如果被循环的是 Map,返回的就是 Map,被循环的是 List,返回的就是 List,以此类推。scala支持函数式编程,将来编写Spark/Flink程序会大量使用到函数, 目前, 我们先对函数做一个简单入门, 在后续的学习过程中, 我们会逐步重点讲解函数的用法.在Scala中, for的格式和用法和Java中有些差异, Scala中的for表达式功能更加强大.原创 2023-03-25 15:35:19 · 794 阅读 · 2 评论