In this chapter, we learned about functions and how to define a function. Then we discussed various types of functions such as built-in and user-defined functions. We saw various examples of user-defined functions, where we explained functions with no arguments and no return type, functions with arguments, functions with arguments and return type, functions with default arguments, and functions with variable length arguments. We also learned about key-value pairs being passed as a variable length argument to the function. We came across the scope of the variable and, finally, we examined the basic concepts of memory management where we learned about two types of memory, namely, stack and heap.
In the next chapter we will learn about quite an interesting topic: collections.