Useful Links
Computer Science
Programming
By Language
Dart Programming Language
1. Introduction to Dart
2. Dart Language Fundamentals
3. Functions
4. Object-Oriented Programming (OOP) in Dart
5. Collections
6. Asynchronous Programming
7. Error Handling and Exceptions
8. Dart Tooling and Ecosystem
9. Advanced Topics
Functions
Defining Functions
Function Syntax
Return Types
Explicit Return Types
Inferred Return Types
`void` Return Type
The Arrow Syntax (`=>`) for Single-Expression Functions
Function Parameters
Required Positional Parameters
Optional Positional Parameters
Using Square Brackets (`[]`)
Default Values
Named Parameters
Using Curly Braces (`{}`)
Optional Named Parameters
Required Named Parameters (`required`)
Default Parameter Values
Compile-Time Constants
Expression Defaults
Parameter Validation
The `main()` Function Revisited
Entry Point Behavior
Accepting Command-Line Arguments (`List<String> args`)
Accessing and Using Arguments
Return Values from Main
Anonymous Functions
Syntax for Anonymous Functions
Lambda Expressions
Assigning Functions to Variables
Passing Functions as Arguments
Lexical Scope and Closures
Understanding Variable Scope
Global Scope
Function Scope
Block Scope
How Closures Capture Variables
Practical Uses of Closures
Memory Considerations
Higher-Order Functions
Functions as First-Class Objects
Functions that Accept Functions as Parameters
Functions that Return Functions
Common Higher-Order Function Patterns
Recursive Functions
Understanding Recursion
Base Cases and Recursive Cases
Tail Recursion
Stack Overflow Considerations
Previous
2. Dart Language Fundamentals
Go to top
Next
4. Object-Oriented Programming (OOP) in Dart