【发布时间】:2021-09-21 23:55:02
【问题描述】:
当我使用内联声明时,我应该更喜欢const 而不是var?
在所有在线示例中,甚至在 Delphi 自己的文档中,我都看到使用了 var。但是,我认为const 通常能更好地表达我的意图,并防止意外修改。
小例子来说明我的意思:
{$APPTYPE CONSOLE}
program VarVsConst;
uses
Spring.Collections,
System.SysUtils;
function UsingVar:string;
begin
var dict := TCollections.CreateDictionary<string, Integer>;
dict.Add ('one', 1);
var pair := dict.ExtractPair('one');
Result := pair.Value.ToString;
end;
function UsingConst:string;
begin
const dict = TCollections.CreateDictionary<string, Integer>;
dict.Add ('one', 1);
const pair = dict.ExtractPair('one');
Result := pair.Value.ToString;
end;
begin
Writeln(UsingVar);
Writeln(UsingConst);
Readln;
end.
那么,UsingConst 实现有什么缺点或危险吗?
【问题讨论】:
-
不,请随时使用
const。 -
如果你需要一个常量,使用
const。如果需要变量,请使用var。 -
@RemyLebeau:哈哈,有创意的回答! :D 我可以将您的评论翻译成:“使用内联常量时没有陷阱”?
-
@WoutervanNifterick:是的,这是正确的说法。
标签: delphi constants inline-variable