赞
踩
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
无非就是val和var的区别,一个是常量,一个是变量,很好理解记忆,主要是要了解它们的用法。
其次,在上一篇文章结尾我们也了解到了一些常见的函数。
今天,我就来教大家如何定义函数。
我们先从简单的无参函数开始,我只需要我的函数给我输出一个"Hello, World!",该怎么操作呢?接着往下看。
def greet(): Unit = {
println("Hello, World!")
}
greet() // 调用函数,输出 "Hello, World!"
这样,我们就定义了一个名为greet的函数,它的内容很简单,就是输出我们所需的"Hello, World!",来看看效果吧。
在带参函数中,其实和无参的区别不大,但是要注意我们的调用方法。
def add(a: Int, b: Int): Int = {
a + b
}
val sum = add(3, 4) // 调用函数,并将结果赋值给变量sum
println(sum) // 输出 7
我们首先定义了一个add函数,再把它作完相加的值赋给sum,然后输出sum,来看看效果吧。
在Scala中,匿名函数是一种没有名称的函数,它们常常作为参数传递给其他函数,或者在某些情况下直接用于表达简单的逻辑。Scala的匿名函数是通过=>
符号来定义的,它左侧是参数列表,右侧是函数体。
来个简单的匿名函数看看
val add = (a: Int, b: Int) => a + b
val sum = add(3, 4) // 调用匿名函数,并将结果赋值给变量sum
println(sum) // 输出 7
可能单单一个大家看不出来区别,再来个难的
匿名函数作为返回值
def createMultiplier(factor: Int): Int => Int = {
(num: Int) => num * factor // 返回匿名函数
}
val triple = createMultiplier(3) // 创建一个函数,该函数将输入的数字乘以3
val result = triple(5) // 调用返回的函数,并将结果赋值给变量result
println(result) // 输出 15
这样就很直观吧,多做对比。
用Scala写一个电话号码归属地以输入的号码前几位的字段来区分,在输入号码后告知是联通移动电信还是错误的号码,号码字段用数组来存贮。
object p2 { // 假设电话号码的前三位或四位代表不同的运营商 // 这里使用数组来存储号码字段和对应的运营商 val phonePrefixes = Array( ("130", "131", "132", "155", "156", "185", "186", "1709") -> "联通", ("134", "135", "136", "137", "138", "139", "150", "151", "152", "157", "158", "159", "182", "183", "184", "187", "188", "198", "1705", "1340") -> "移动", ("133", "153", "180", "181", "189", "1700") -> "电信" ) // 函数来根据号码前缀判断运营商 def classifyPhoneNumber(phoneNumber: String): String = { // 提取号码的前几位作为前缀 val prefix = phoneNumber.take(4) // 假设前四位是足够的 // 查找前缀对应的运营商 phonePrefixes.find(_._1.contains(prefix)).map(_._2).getOrElse("错误的号码") } // 程序的入口点 ![img](https://img-blog.csdnimg.cn/img_convert/4bcd633e8f82f534ba692fbaa997fa76.png) ![img](https://img-blog.csdnimg.cn/img_convert/fbe41d7b3edf4dc530a42b96f1615442.png) **网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。** **[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)** **一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!** 戳这里获取](https://bbs.csdn.net/topics/618545628)** **一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。