声明一个变量,其类型从初始化器表达式中隐含
语法
Var [Shared] symbolname = expression [, symbolname = expression ]
说明
Var声明一个变量,其类型从初始化器表达式中隐含。在
Var声明中指定显式类型是非法的。初始化器表达式可以是常量或任何类型的任何变量。
注意:
WString不支持
Var,因为没有var-len
WString类型。由于处理Unicode的复杂性,这不太可能改变。
由于变量的类型是根据您所赋值的内容推断的,因此了解文字的工作方式很有帮助。任何没有小数点的字面数字都将默认为
Integer.一个字母数字
with 的小数点默认为
Double.有关更多信息,请参阅ProPgLiterals。
所有
ZString表达式,包括字符串文字和dereferenced
ZStringPtr将被赋予
String变量类型。
显式后缀可用于文字变量,以更改/澄清其类型。有关可用于文字的后缀的更多信息,请参阅
字面和
变量类型.
注意:后缀必须出现在初始化程序上,而不是在变量上。尝试使用具有后缀的变量
Var将抛出编译错误。
例子
Var a = Cast(Byte, 0)
Var b = Cast(Short, 0)
Var c = Cast(Integer, 0)
Var d = Cast(LongInt, 0)
Var au = Cast(UByte, 0)
Var bu = Cast(UShort, 0)
Var cu = Cast(UInteger, 0)
Var du = Cast(ULongInt, 0)
Var e = Cast(Single, 0.0)
Var f = Cast(Double, 0.0)
Var g = @c ''整数PTR
Var h = @a ''字节的PTR
Var s2 = "你好" ''只有VAR串
Var ii = 6728 ''隐式整数
Var id = 6728.0 ''隐含双重
Print "字节:";Len(a)
Print "短:";Len(b)
Print "整数:";Len(c)
Print "Longint型:";Len(d)
Print "UByte:";Len(au)
Print "UShort:";Len(bu)
Print "UInteger:";Len(cu)
Print "ULongint:";Len(du)
Print "单:";Len(e)
Print "双:";Len(f)
Print "整数指针:";Len(g)
Print "字节指针:";Len(h)
Print "变量字符串:";Len(s2)
Print
Print "整数:";Len(ii)
Print "双:";Len(id)
Sleep
与QB差别
方言差异
参考