- Learning Scala Programming
- Vikash Sharma
- 167字
- 2021-06-30 19:07:51
Null and Nothing
Null and Nothing are called Bottom types in Scala. Why do we need these Bottom types? Take a look at the code snippet:
def checkIF10AndReturn20(x: Int): Int = {
if(x == 10)
x * 2
else
throw new Exception("Sorry, Value wasn't 10")
}
The method checkIf10AndReturn20 expects a returned value of Int type, but what's happening here is different. If the passed argument value is not 10, we are throwing an exception, yet still the compiler is OK with our code. How can this be possible?
This is because of Type Inference. It always looks for common types in both branches of an if statement, so if in the other branch, the type extends everything, then the inferred type will automatically be the first one. In Scala, Nothing is a subtype of everything, hence the inferred type automatically becomes of type Int. Let's visualize this:

With this, it's important to understand that Type Inference plays an important role in Scala's ecosystem.
- Python快樂編程:人工智能深度學習基礎
- INSTANT OpenCV Starter
- Android Jetpack開發:原理解析與應用實戰
- Mastering Natural Language Processing with Python
- 神經網絡編程實戰:Java語言實現(原書第2版)
- Learning OpenCV 3 Computer Vision with Python(Second Edition)
- 用戶體驗可視化指南
- Spring Boot+Vue全棧開發實戰
- Deep Learning with R Cookbook
- 計算機應用技能實訓教程
- Python商務數據分析(微課版)
- Appcelerator Titanium:Patterns and Best Practices
- JavaScript編程精解(原書第2版)
- Hands-On Dependency Injection in Go
- IBM RUP參考與認證指南