不是,因为return(x)并不一定出现在函数代码的最后。如果return(x)出现在函数代码的最后,则对应的就只需要Result:=x;了。例如:int f1(int a) { if (a < 5) return(1); if (a < 15) return(2); if (a < 25) return(3); return(4); } function f1(a: Integer): Integer; begin if a < 5 then begin Result := 1; exit; end; if a < 15 then begin Result := 2; exit; end; if a < 25 then begin Result := 3; exit; end; Result := 4; end;
return(x);对应Delphi:
Result := x;
exit;
如果是返回一个空的是不是就搞个Result就行了呢?
{
if (a < 5) return(1);
if (a < 15) return(2);
if (a < 25) return(3);
return(4);
}
function f1(a: Integer): Integer;
begin
if a < 5 then
begin
Result := 1;
exit;
end;
if a < 15 then
begin
Result := 2;
exit;
end;
if a < 25 then
begin
Result := 3;
exit;
end;
Result := 4;
end;
1. 过程(procedure)
2. 函数(function)两者最大的区别就是:函数需要返回类型,而过程没有。每个函数里面有一个隐含的变量:Result。需要注意的有两点:
1. Result是局部变量,本身是分配在栈上的。
2. Result需要被初始化(赋值)。另外,有的时候为了提高速度,可以使用out类型的参数。如:function GetIntf: IInterface;
->
procedure GetIntf(out intf: IInterface);