<Example Program>

Program end_interface_example
   
Interface
        Real Function mag(a)
            Real, Intent(In) :: a(:)
        End
   
End Interface
    Real, Allocatable :: a(:)
    Allocate (a(3))
    a = (/1.,2.,3./)
    Print *, mag(a)
End Program
Real Function mag(a)
    Real, Intent(In) :: a(:)

    mag = Sqrt(Sum(a**2))
End Function mag

Execution Results

  3.7416575