大数据全系列 教程
1869个小节阅读:467k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
所谓的至简原则,其实就是为了让开发人员能够大幅度提高开发效率。通过编译器的动态判定功能,帮助我们将函数声明中能简化的地方全部都进行了简化。也就是说将函数声明中那些能省的地方全部都省掉。所以这里的至简原则
,简单来说就是:能省则省
。
xxxxxxxxxx
package cn.itbaizhan.chapter03
object FunctionToSimple {
def main(args: Array[String]): Unit = {
//1.省略return关键字
def funcA1(): String = {
return "gtjin"
}
def funcA2(): String = {
"gtjin"
}
//2.省略花括号
def funcB(): String = "gtjin"
//3.省略返回值类型
def funcC() = "gtjin"
//4.省略参数列表
def funcD = "gtjin"
/*运行时出现如下异常not enough arguments for method apply: (index: Int)Char in class StringOps
Unspecified value parameter index.*/
//println(funcD())
//调用时仅需要函数名称
println(funcD)
//5.省略": 返回值类型 ="
//如果函数体返回值类型明确为Unit, 那么函数体中即使有return关键字也不起作用
def funcE1(): Unit ={
return "GTJin"
}
println("funcE1:"+funcE1())//funcE1:()
def funcE2(){
return "GTJin"
}
println("funcE2:"+funcE2())//funcE2:()
//funcE1和funcE2是等价的。
def funcE3(): String ={
return "gtin"
}
println("funcE3:"+funcE3())//funcE3:gtin
//如果函数体中有明确的return语句,那么返回值类型不能省略
def funcE4(): Unit ={
"gtin" //省略了return也是明确的return语句
}
println("funcE4:"+funcE4())//funcE4:()
//6省略名称和关键字
()=>{
println("省略名称和关键字GTJin")
}
}
}
实时效果反馈
1. 关于Scala函数至简原则的描述,错误的是:
A 至简原则,通过编译器的动态判定功能,帮助我们将函数声明中能简化的地方全部都进行了简化。也就是说将函数声明中那些能省的地方全部都省掉。
B 如果函数体中有明确的return语句,那么返回值类型不能省略。
C 如果函数体返回值类型明确为Unit, 那么函数体中即使有return关键字也不起作用。
D 省略参数列表的函数通过"参数名()"被调用。
答案:
1=>D 只需要 "参数名"进行调用。