scala基础内容 函数式编程与基础函数,匿名函数,递归练习
函数式编程
scala是完全面向函数式编程语言
函数式编程最关心的是问题的解决方案(封装的功能),重点在于函数的功能,函数的入参和函数的出参
函数式编程完全就是依托于函数而实现的
scala中函数的关键字:def
普通的函数
有参,有返回值
//i : Int i 入参的参数名 Int 入参的类型,整形
//:Int= 有返回值,返回值类型为Int
//return i; 返回语句,返回值为i
def test(i : Int):Int={
return i;
}
print(test(2))
无参,无返回值
//:Unit= 无返回值,返回值类型为Unit
def test1():Unit={
print("test1")
}
test1()
//如果函数声明时,明确无返回值(Unit),那么即使函数中有return也不起作用
//输出内容为 ()
def test3(): Unit ={
return "aaa"
}
print(test3());
有参,无返回值
//输出内容为 sss+++test2
def test2(i : String): Unit ={
print(i+"+++test2")
}
test2("sss")
def test3(): Unit ={
return "aaa"
}
print(test3());
scala至简原则
1.如果将函数的最后一行代码作为返回值,那么return关键字可以省略
2.如果可以根据函数的最后一行来推断返回类型,那么返回值类型可以省略
3.如果函数体中只有一行代码,大括号可以省略
4.如果函数声明中没有参数列表,小括号可以省略,如果函数小括号省略,那么访问函数时不能增加小括号,def关键字用来区分是变量还是函数,所以def关键字不能省略
5.如果函数没有参数列表,但是没有省略小括号,调用时可加可不加
6.如果明确函数没有返回值,那么等号可以省略,省略后,编译器不会将最后一行代码作为返回值
//如果将函数的最后一行代码作为返回值,那么return关键字可以省略
def test4(): String ={
"aaa"
}
print(test4());
//如果可以根据函数的最后一行来推断返回类型,那么返回值类型可以省略
def test5()={
"aaa"
}
print