在Delphi中,您可以退出一个函数并给它一个返回值,该值与C / C ++ / Java / C#等中的return关键字非常相似。
Exit(1);
但是,我通常写这样的东西:
Result := 1;
Exit;
选择一个而不是另一个的理由?
答案 0 :(得分:10)
这两个变体在语义上是相同的,您可以在它们之间自由选择。
如果您需要在不支持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>)
没有被介绍过。但是,正如我所说,这些是我个人的意见,我相信其他人有不同的看法。