Home »
Scala language
How to return Unit form a Scala function?
Scala | Converting Unit from Function: Here, we will learn how to return Unit from a Scala function, with syntax and example?
Submitted by Shivang Yadav, on May 21, 2020
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.
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.