Var
 
声明一个变量,其类型从初始化器表达式中隐含

语法

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差别

  • 新到FreeBASIC 0.17

方言差异

  • -lang qb 方言中不可用,除非使用别名__Var引用。

参考