我正在研究一个用 Fortran 95 编写的模型,我对它完全陌生。声明标签的概念似乎很奇怪,目前我只找到了标签可以由作者任意决定的解释,通常以10为增量。
除了更容易地找出语句结束的位置之外,这些标签是否有任何实际用途?以及如何标记的普遍接受的标准。
我正在研究一个用 Fortran 95 编写的模型,我对它完全陌生。声明标签的概念似乎很奇怪,目前我只找到了标签可以由作者任意决定的解释,通常以10为增量。
除了更容易地找出语句结束的位置之外,这些标签是否有任何实际用途?以及如何标记的普遍接受的标准。
我认为语句标签在现代 Fortran 中有用的唯一方法是在使用goto
s 时进行错误控制(是的,它们有时很有用 - 当小心处理时;-))。查普曼将它们列为“过时”。
另一方面,构造名称if
有时可能有助于帮助读者理解您的代码,例如对于大型循环或语句。构造名称的另一个用途是高级循环控制,例如在循环外部循环时:
outer: do i=1,10
do ii=1,10
if ( i == 2 .and. ii == 3 ) cycle outer
z(ii,i) = 1.d0
enddo
enddo outer