在python中函数作用域是用缩紧来表示的,这也是大家吐槽的一点,稍微有个缩进不正确就会报错,julia中对缩进没有严格的限制,这里主要介绍julia中函数的语法,各语言通用的函数语法将不做详细介绍。
Code.1.1 基本函数语法
julia> function sum_x_y(x,y)
x + y
end
f (generic function with 1 method)
julia> sum_x_y(2, 3)
5在Julia中定义函数还有第二种更简洁的语法:
Code.1.2 简介函数语法
julia> Multiply_x_y(x, y) = x * y
Multiply_x_y (generic function with 1 method)
julia> Multiply_x_y(2, 3)
6可以使用::运算符在函数声明中指定返回类型
Code.1.2 简介函数语法
julia> function g(x, y)::Int8
return x * y
end
julia> typeof(g(1, 2))
Int8同样也可以使用::运算符在函数声明中指定返回类型
function f(x, y ; z::Int=1)
###
end又可能注意到,参数分隔符是; ,这是因为在julia 中 , 和; 都可以用作参数分隔符,但一般给没初始化和初始化的参数使用; 分割。
julia> +(1,2,3)
6
julia> func = +;
julia> func(1,2,3)
6julia> map(round, [1.2,3.5,1.7])
3-element Array{Float64,1}:
1.0
4.0
2.0
julia> map(x -> x^2 + 2x - 1, [1,3,-1])
3-element Array{Int64,1}:
2
14
-2