Ich frage mich, ob es möglich ist, den Rückgabetyp eines Funktionsliterals anzugeben. Zum Beispiel habe ichGibt es eine Möglichkeit, den Rückgabetyp eines Scala-Funktionsliterals anzugeben?
(x:Int) => x * 2 // scala infers the type Int => Int
((x:Int) => Double) => x * 2 // does NOT compile
Ich weiß, dass Scala Typinferenz tun wird den Rückgabetyp zu finden, aber ich würde ausdrücklich gerne den Typen angeben, so dass der Compiler früher den Fehler abfängt.
Natürlich habe ich die Prüfung durch
zwingen kannval a: Int => Int = (x: Int) => x * 2
Aber ist es möglich, wörtliche direkt auf eine Funktion angeben?
'(x: Int) => x * 2.0'? Oder '(x: Int) => (x * 2): Double' – Dima
Sie können sogar Typbezeichnung auf Blöcke in geschweiften Klammern verwenden:' (x: Int) => {... Tonnen Code ...}: Double ' –
perfekt, danke, das ist genau das, was ich suchte, ich konnte es nicht herausfinden. Mach es zur Antwort und ich werde es akzeptieren! – ecerulm