Skip to content

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 新增。

另请参阅

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系