Julia is first and foremost a functional language because computations and data transformations are done through functions; they are first-class citizens in Julia. Programs are structured around defining functions and to overload them for different combinations of argument types. This chapter discusses this keystone concept, covering the following topics:

  • Defining functions
  • Optional and keyword arguments
  • Anonymous functions
  • First-class functions and closures
  • Recursive functions
  • Broadcasting
  • Map, filter, and list comprehensions
  • Generic functions and multiple dispatch

Get Julia 1.0 Programming now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.