模块语法

Module 是类型声明,数据声明和过程的集合。基本语法是:

module module_name
  use other_module_being_used

  ! The use of implicit none here will set it for the scope of the module. 
  ! Therefore, it is not required (although considered good practice) to repeat 
  ! it in the contained subprograms. 
  implicit none

  ! Parameters declaration
  real, parameter, public::pi = 3.14159
  ! The keyword private limits access to e parameter only for this module
  real, parameter, private::e = 2.71828

  ! Type declaration
  type my_type
    integer::my_int_var
  end type

  ! Variable declaration
  integer::my_integer_variable

! Subroutines and functions belong to the contains section
contains

  subroutine my_subroutine
    !module variables are accessible
    print *, my_integer_variable
  end subroutine

  real function my_func(x)
    real, intent(in) :: x
    my_func = x * x
  end function my_func
end module