我正在学习scala方法,并且我创建了两个代码示例,这些示例在本质上有些相似,但在调用它们时感到困惑。
方法#1
def someTestMethod = {
println("Inside a test method")
}
这会转换为Unit
类型,因为它不会返回任何内容。
方法#2
def anotherTestMethod() = {
println("Inside a test method")
}
这也转移到Unit
,但添加了大括号()
。
这两种方法有什么区别,请注意,如果我调用someTestMethod()
之类的第一个方法,那么scala shell /编译器会说
错误:单位不接受参数,但如果我在没有大括号的情况下调用someTestMethod
,则效果很好。
此外,第二种方法似乎是万无一失的,因为它可以被称为anotherTestMethod
或anotherTestMethod()
,为什么会这样?
答案 0 :(得分:-2)
如果您不想将任何参数传递给方法,请使用第一个参数。
如果你想传递一些传递参数,可以使用带括号的第二个参数并传递一些参数并在方法中使用它。
例如:
def someTestMethod1(count : Int) = {
println("Inside a test method"+count)
}
someTestMethod1(10)