Functions are another tool to change the program flow; a certain task is delegated to a function by calling it and providing some arguments. A function does the requested task and returns a value; the control flow returns where the function was called. In Java and C#, classes are indispensable and they are the most important structuring concept.
However, Dart is both functional and object-oriented. Functions are first-class objects themselves (they are of the function type) and can exist outside of a class as top-level functions (inside a class, they are called methods). In
prorabbits_v2.dart of Chapter 1, Dart – A Modern Web Programming Language,
calculateRabbits is an example of a top-level function; and