在Delphi中,你可以退出一个函数并给它一个返回值,这与C/C++/Java/C#等中的return关键字非常相似
Exit(1);
但是,我通常会写这样的内容:
Result := 1;
Exit;
有什么理由选择其中之一?
最佳答案
这两个变体在语义上是相同的,您可以在它们之间自由选择。
如果您需要在不支持Exit(<value>)
的旧版本编译器上编译代码那么显然你必须避免这种变体。
我个人避免Exit(<value>)
只是因为我不喜欢有两种不同的方法来分配返回值。我讨厌这样的函数:
function FindValue(Value: Integer): Integer;
var
i: Integer;
begin
for i := 0 to Count - 1 do
if Items[i] = Value then
Exit(i);
Result := -1;
end;
在这里,我们混合了两种不同的方法。显然我们可以选择使用Exit(<value>)
始终如此,但后来我无法像这样编写该函数:
function FindValue(Value: Integer): Integer;
begin
for Result := 0 to Count - 1 do
if Items[Result] = Value then
Exit;
Result := -1;
end;
在我看来,这是添加增强功能的时代之一,它引入了程序员的选择,但带来的好处却很少。我更喜欢 Exit(<value>)
尚未介绍。然而,正如我所说,这些都是我的个人观点,我相信其他人也有不同的看法。
关于delphi - Exit(1) 或 Result := 1; Exit in Delphi? 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42087805/