Scala メソッドの戻り値の型は Unit を使用するか省略するべきでしょうか? 質問する

Scala メソッドの戻り値の型は Unit を使用するか省略するべきでしょうか? 質問する

Scala メソッドの戻り値の型として Unit を指定することと、戻り値の型を完全に省略することの違いがよくわかりません。違いは何ですか?

どなたかアドバイスをいただけませんか?

ベストアンサー1

暗黙的なUnit戻り値の型:

def f() {println("ABC")}

明示的なUnit戻り値の型:

def g(): Unit = {println("ABC")}

最後のメソッド式から推論された戻り値の型。Unitこれは の型であるためprintln、依然として混乱を招きます。

def h() = println("ABC")

上記のメソッドはすべて同等です。メソッドシグネチャの後に演算子f()がない=だけで十分であるため、私はこれを好みます。メソッドをさらに: Unitドキュメント化したい場合は、明示的な方法を使用してください。最後の形式は混乱を招き、実際には警告として扱われます。

演算子=は重要です。演算子が存在する場合、次のことを意味します。最後の文が返すものをすべて返してください" をメソッド本体に含めます。当然、この構文はメソッドには使用できませんabstract。そうでない場合は、Unitが想定されます。

おすすめ記事