在函数基础方面,其基本语法涵盖函数定义与调用,且函数和方法有明显区别,函数可在多种语法结构中声明,无重载和重写概念,还能嵌套定义。函数定义包括无参无返回值、无参有返回值等多种类型。参数方面,有可变参数、默认值参数和带名参数,且可变参数常置于最后。
函数高级特性众多。高阶函数中,函数可作为值、参数传递,还能作为返回值返回;匿名函数简洁灵活,传递时参数类型可省略,圆括号和大括号在特定条件下也能省略;函数柯里化将多参数列表转换为多个单参数列表,常伴随闭包现象;递归函数需注意调用自身的逻辑和跳出条件,且Scala中递归函数要声明返回值类型。此外,控制抽象包含值调用和名调用,Scala还支持惰性加载,能推迟函数执行,提升程序性能 。