
Function arguments themselves act as new variable bindings (new locations that can refer to values), but the values they refer to are identical to the passed values. Julia function arguments follow a convention sometimes called "pass-by-sharing", which means that values are not copied when they are passed to functions. Without parentheses, the expression f refers to the function object, and can be passed around like any other value: julia> g = f Īs with variables, Unicode can also be used for function names: julia> ∑(x,y) = x + y The short function syntax is accordingly quite idiomatic, considerably reducing both typing and visual noise.Ī function is called using the traditional parenthesis syntax: julia> f(2,3) Short, simple function definitions are common in Julia.


In the assignment form, the body of the function must be a single expression, although it can be a compound expression (see Compound Expressions). The traditional function declaration syntax demonstrated above is equivalent to the following compact "assignment form": julia> f(x,y) = x + y There is a second, more terse syntax for defining a function in Julia. This function accepts two arguments x and y and returns the value of the last expression evaluated, which is x + y. The basic syntax for defining functions in Julia is: julia> function f(x,y) Julia functions are not pure mathematical functions, because they can alter and be affected by the global state of the program. In Julia, a function is an object that maps a tuple of argument values to a return value.

Noteworthy Differences from other Languages.Multi-processing and Distributed Computing.Destructuring Assignment and Multiple Return Values.Mathematical Operations and Elementary Functions.
