{默认参数是传值, 不会被改变}
function MyF1(x: Integer): Integer;
begin
Inc(x);
Result := x;
end;
{var参数是传地址,参数会被改变,而且参数只能是变量}
function MyF2(var x: Integer): Integer;
begin
Inc(x);
Result := x;
end;
{out参数是为支持Com的, 和 var 的结果是一样的, 一般我们用不着它}
function MyF3(out x: Integer): Integer;
begin
Inc(x);
Result := x;
end;
{const参数是绝对不可以赋值的, 这是被编译器优化的方式, 尽量多用}
function MyF4(const x: Integer): Integer;
begin
//Inc(x); {这句会出错, 因为带 const 前缀的参数是不可以更改的}
Result := x;
end;
{静态数组做参数,应该先把数组定义为一个类型}
Type
IntArray = array[0..9] of Integer; {先把需要的数组定义成一个类型}
function MyFun(arr: IntArray): Integer;
var
i: Integer;
begin
Result := 0;
for i in arr do Result := Result + i;
end;