可以使用几种类型的语法编写函数
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