查看我们的代码库,我看到许多情况下,派生类型的字段使您希望它们在初始化后保持不变,理想情况下是一次初始化,之后再也不会更改(如"值类型"(。
在实践中,已经建立了快速解决方案,因此字段是否更改,甚至其包含的内容可能取决于代码路径,导致到处都是大型IF-ELSE级联,使代码难以遵循,并且在更改时变得脆弱。
这让我想知道:是否有可能强制执行诸如字段不变性之类的约束?
您可以使用"parameter"关键字使变量成为常量。
https://www.tutorialspoint.com/fortran/fortran_constants.htm
real, parameter :: g = 9.81
你必须在编译时知道这些值,所以这可能不是你想要的。如果不是,你能给我们一些澄清吗?我们可以尽力帮助你?
************编辑******************
正如上面其他人所说,如果您需要能够在运行时设置变量,那么getter和setter就是最好的选择。
您可以将变量设为私有变量,并为其编写getter和setter,或者如果您将该变量设为受保护变量,则只需要为其编写setter