如果你有 Python 基础,那么 Scala 的函数基础使用,你能快速的上手
格式
def 函数名(参数名: 参数类型, 参数名: 参数类型) : 返回值类型 = { 方法体 } def mani(args: Array[String]): Unit = { print("Hello world") }
函数的入参(参数)和出参(返回值)
有参数 有返回值
def fun(a: String): String ={ return a + "bigdataboy.cn" } println(fun("https://"))
有参数 没有返回值
def fun(a: String): Unit ={ println(a) } fun("bigdataboy.cn")
没有参数 有返回值
def fun(): String = { "Hello Scala" } println(fun())
没有参数 没有返回值
def fun(): Unit= { println("Hello Scala") } fun()
可变参数
与 Python 类似,用
*
号表示可变参数可以传参,也可以不传参
可变参数一般放在
参数列表
的最后面
def fun(name: String*): Unit ={ println(name) } fun() fun("Bob","Black") -------------------------------- List() ArraySeq(Bob, Black)
默认参数
默认参数与 Python 类似
def fun(name: String, age: Int = 13) ={ println(name,"-",age) } fun("Bob") fun(name="Bob",age = 16) --------------------------------------- (Bob,-,13) (Bob,-,16)
精简函数格式
如果能通过最后一行,推测出返回值类型,就可以不写返回值类型
def fun()= { println("Scala") "Scala" } // 调用 println(fun()) -------------------- Scala Scala
可以使用
分号
隔开逻辑写成一行
def fun()= { println("Scala"); "Scala" } // 调用 println(fun()) -------------------- Scala Scala
在一行就可以去掉大括号。
去掉大括号,写在一行就只对最近的一个逻辑有效,所以 后面打印的是 ()
def fun()= println("Scala"); "Scala" // 调用 println(fun()) -------------------- Scala ()
如果函数,没有参数,可以去掉
参数括号
,但是在调用的时候,也不用加括号
def fun= println("Scala"); "Scala" // 调用 println(fun) ----- Scala ()
小技巧:当明确没有返回值时,函数的
=
可以省略,编译器也就不会把最后一行代码作为返回值。
def fun4() {println("Scala"); "Scala"} println(fun4()) -------------------------------------- Scala ()
匿名函数
格式
() -> { 代码块 }
例子
() -> { var a= 1 var b= 2 println(a + b) } // 写成一行 分号区分代码块 () -> {var a= 1; var b= 2; println(a + b) } ------------------------------------------- 3
版权声明:《 Scala 函数基础使用 》为明妃原创文章,转载请注明出处!
最后编辑:2020-1-31 13:01:01