VAR
来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgVar 最后更新: 2021-08-31
声明一个类型由初始化表达式隐含的变量。
语法
[Static] Var [Shared] symbolname = expression [, symbolname = expression]说明
Var 声明一个类型由初始化表达式隐含的变量。在 Var 声明中指定显式类型是非法的。初始化表达式可以是常量,也可以是任何类型的变量。
注意: Wstring 不支持 Var,因为不存在可变长度的 Wstring 类型。
由于变量的类型是从赋给它的值推断出来的,了解字面量的工作方式很有帮助:
- 没有小数点的任何字面数字默认为
Integer。 - 带有小数点的字面数字默认为
Double。
所有 Zstring 表达式,包括字符串字面量和解引用的 Zstring Ptr,将被赋予 String 变量类型。
可以在字面变量上使用显式后缀来更改/明确其类型。
注意: 后缀必须出现在初始化器上,而不是变量上。尝试对有后缀的变量使用 Var 将抛出编译错误。
示例
vb
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 '' integer ptr
Var h = @a '' byte ptr
Var s2 = "hello" '' var-len string
Var ii = 6728 '' implicit integer
Var id = 6728.0 '' implicit double
Print "Byte: ";Len(a)
Print "Short: ";Len(b)
Print "Integer: ";Len(c)
Print "Longint: ";Len(d)
Print "UByte: ";Len(au)
Print "UShort: ";Len(bu)
Print "UInteger: ";Len(cu)
Print "ULongint: ";Len(du)
Print "Single: ";Len(e)
Print "Double: ";Len(f)
Print "Integer Pointer: ";Len(g)
Print "Byte Pointer: ";Len(h)
Print "Variable String: ";Len(s2)
Print
Print "Integer: ";Len(ii)
Print "Double: ";Len(id)
Sleep方言差异
- 仅在
-lang fb方言中有效。
与 QB 的区别
- FreeBASIC 新增。