- Learn Kotlin Programming(Second Edition)
- Stephen Samuel Stefan Bocutiu
- 248字
- 2021-06-24 14:13:36
Top-level functions
In addition to member functions and local functions, Kotlin also supports declaring top-level functions. These are functions that exist outside of any class, object, or interface and are defined directly inside a file. The name "top-level" comes from the fact that functions are not nested inside any structure and so they are at the top of the hierarchy of classes and functions.
Top-level functions are especially useful for defining helper or utility functions. It does not necessarily make sense to group them with other functions or create them when the contained object adds no value. In Java, these kinds of functions exist as static functions inside the helper classes. An example would be the functions of collections in the Java standard library.
However, some functions are so standalone that it makes little sense to take the trouble of creating a containing object. A good example would be require. This is a Kotlin standard library function that is used to ensure that parameters, when invoked, satisfy the invariant conditions. For example, if a parameter should always be greater than 10, we can write the following:
fun foo(k: Int) { require(k > 10, { "k should be greater than 10" }) }
This function and its siblings, namely check, error, and requireNotNull, could be placed inside an object called assertions (or another name that means the same), but this adds no value, and, by using top-level functions, we could define these functions directly in a file called assertions.kt.
- 高手是如何做產品設計的(全2冊)
- Mastering C# Concurrency
- Blockly創意趣味編程
- 21天學通C++(第6版)
- Hands-On Swift 5 Microservices Development
- Mastering Ext JS
- QGIS By Example
- PHP 7+MySQL 8動態網站開發從入門到精通(視頻教學版)
- 編寫高質量代碼:改善Objective-C程序的61個建議
- OpenCV 3.0 Computer Vision with Java
- Node.js 6.x Blueprints
- 從零開始學UI設計·基礎篇
- Real-time Analytics with Storm and Cassandra
- Learning Behavior:driven Development with JavaScript
- Java Web應用設計及實戰