Fortran 函数语法

示例

可以使用几种类型的语法编写函数

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