Scala メソッドの戻り値の型として Unit を指定することと、戻り値の型を完全に省略することの違いがよくわかりません。違いは何ですか?
どなたかアドバイスをいただけませんか?
ベストアンサー1
暗黙的なUnit
戻り値の型:
def f() {println("ABC")}
明示的なUnit
戻り値の型:
def g(): Unit = {println("ABC")}
最後のメソッド式から推論された戻り値の型。Unit
これは の型であるためprintln
、依然として混乱を招きます。
def h() = println("ABC")
上記のメソッドはすべて同等です。メソッドシグネチャの後に演算子f()
がない=
だけで十分であるため、私はこれを好みます。メソッドをさらに: Unit
ドキュメント化したい場合は、明示的な方法を使用してください。最後の形式は混乱を招き、実際には警告として扱われます。インテリジアイデア。
演算子=
は重要です。演算子が存在する場合、次のことを意味します。最後の文が返すものをすべて返してください" をメソッド本体に含めます。当然、この構文はメソッドには使用できませんabstract
。そうでない場合は、Unit
が想定されます。