【问题标题】:Is it possible to declare a global var with an initial value?是否可以声明具有初始值的全局变量?
【发布时间】:2021-11-17 12:50:03
【问题描述】:

也许我错过了一些东西,但他们是一种在 Delphi 中声明具有初始值的全局变量的方法吗?

var MyGlobalVar: integer := 16;

这不起作用(但当 var 在代码中内联时起作用)

【问题讨论】:

  • 用于全局变量初始化和局部内联变量初始化的语法存在差异(为什么?)。全局使用“=”作为赋值运算符,局部内联使用“:=”作为赋值运算符。
  • (小)部分答案:具有默认值的全局变量已成为“永远”语言的一部分,而内联变量声明仅在一两年前才引入。另外,请注意全局变量表达式必须是常量表达式,而赋予新的内联声明变量的值可以由任何(运行时)表达式给出。

标签: delphi


【解决方案1】:

是的。来自the documentation on variables

全局变量可以在声明它们的同时初始化,使用语法:

var identifier: type = constantExpression;

其中constantExpression 是表示type 类型值的任何常量表达式。

在你的情况下,

var MyGlobalVar: Integer = 16;

【讨论】:

  • arf 没有抓住 = 而不是 := !谢谢阿德里亚斯
猜你喜欢
  • 1970-01-01
  • 2016-12-17
  • 1970-01-01
  • 2020-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多