Home »
Scala
How to return Unit form a Scala function?
By IncludeHelp Last updated : October 20, 2024
Unit in Scala
Unit is a return type used in Scala as a return statement when no value is returned from the function.
Syntax:
def functionName (arg...) : Unit = {
// function code
}
How to return unit?
We can return the unit when no value is returned by the function i.e. when no return value is specified in the function, the function automatically returns the unit back to the calling function.
Program to illustrate how to return Unit
object MyClass {
def favLang(lang:String) : Unit = {
println("My favorite language is " + lang)
};
def main(args: Array[String]) {
// printing the returned value from the function
println(favLang("Scala"))
}
}
Output
My favorite language is Scala
()
Explanation
In the above code, we have declared a function favLang() that returns a unit value. Then we have printed the returned value of the function in main which printed ().
What if we return a value with return type Unit?
Let's check what will happen if we return a value from a function that has return type unit.
Example
object MyClass {
//Function that returns Unit value
def favLang(lang:String) : Unit = {
println("My favorite language is " + lang)
// returning int value
return 10
};
def main(args: Array[String]) {
// printing the returned value from the function
println(favLang("Scala"))
}
}
Output
My favorite language is Scala
()
ex1.scala:6: warning: a pure expression does nothing in statement position
return 10
^
ex1.scala:6: warning: enclosing method favLang has result type Unit: return value discarded
return 10
^
Explanation
In the above code, we have tried to return an integer value from a function that has return type Unit. The function compiled with warnings and discards the return value and returns unit value.