var x = 0 def IncreaseOne(): Int = { x += 1 x } def IncreaseOne() = { x += 1 x } def IncreaseOne = { x += 1 x } | var x = 0 def IncreaseOne(): Unit = { x += 1 x } def IncreaseOne() { x += 1 x } def IncreaseOne { x += 1 x } | def max(x: Int, y: Int) = {if (x > y) x else y} def max(x: Int, y: Int) = if (x > y) x else y def greet(){println("Hello, world!"); "good"} def greet()={println("Hello, world!"); "good"} |
上面案例分析: (1)都要求有返回值。 第一个是明确显示返回值; 第二个是推测返回值; 第三个是推测返回值,并且调用的时候不能用括号:如:val a = IncreaseOne ; | 上面案例分析: (1)都要求有无返回值,或者是返回值是Unit类型的()。 第一个是明确要求无返回值; 第二个是推测无返回值; 第三个是无回值,并且调用的时候不能用括号:如:val a = IncreaseOne ; | 上面案例分析: 第一个和第二个是等价的; 第三个和第四个不同,无等号的,是不返回值;第四个返回“good” |
简单规律: (1) 没有参数就不用(),但是调用的时候,也不能加();如果定义的时候有(),调用的时候可以不用() (2)如果方法的返回类型为Unit,则可以忽略result type 和 = 号。 (3)没有=号,一定没有返回值,或者是返回 Unit类型的 () (4) 如果使用了return 关键字,则必须明确返回值类型,并且不能省去=号 (5) 如果定义中有 = 号,则函数一定要求一个返回值,切不是表达式 |
scala 函数定义格式
最新推荐文章于 2023-04-18 19:40:15 发布