功能语法
可以使用多种语法编写函数
function name()
integer name
name = 42
end function
integer function name()
name = 42
end function
function name() result(res)
integer res
res = 42
end function
函数通过函数结果返回值。除非函数语句具有 result
子句,否则函数的结果与函数的名称相同。使用 result
,函数结果是由 result
给出的。在上面的前两个例子的每一个中,函数结果由 name
给出; 在第三个由 res
。
必须在执行函数期间定义函数结果。
函数允许使用一些特殊的前缀。
纯函数意味着此函数没有副作用:
pure real function square(x)
real, intent(in) :: x
square = x * x
end function
元素函数被定义为标量运算符,但它可以使用数组作为实际参数调用,在这种情况下,函数将按元素方式应用。除非指定了 impure
前缀(在 Fortran 2008 中引入),否则元素函数也是纯函数。
elemental real function square(x)
real, intent(in) :: x
square = x * x
end function