语言相关-变量类型

简介:

语言相关 - 变量类型

所谓变量是指在为了快速读取而在内存中保存数据的一块空间. 您可以把它想象成是一个在内存里的邮箱, 我们可以往里面存信也可以取信.例如您可以创建 一个变量用来保存用户回复的数值或者某个数学表达式的 运算结果.

每个变量都有自己的名字(这跟邮箱是不是很像?)而且必须以英文 字符"$"开头,其中只能包含 字母数字 和下划线_字符.  下面是一些有效的变量名:

    $var1

    $my_variable

 

每个变量都储存为一个Variant.

 

变量的声明

使用关键字 DimLocal 和 Global 来声明并创建变量:

    Dim $var1

还可以像下面这样一次声明多个变量:

    Dim $var1, $myvariable

 

另外还可以先声明某个变量而直接对其赋值, 但最好还是要显式的声明一下.

    $var1 = "创建并赋值"

 

声明常量

常量声明使用 Const 关键字,就像:

    Const $const1 = 1, $const2=12

声明的常量可以用 Enum关键字进行初始化,就像:

    Enum $const1 = 1, $const2, $const3    ; 1, 2, 3
    Enum STEP 2 $incr0, $incr2, $incr4    ; 0, 2, 4
    Enum STEP *2 $mult1, $mult2, $mult4   ; 1, 2, 4

 

常量不能声明为一个已经存在的变量.

 

变量的作用域

某个变量的作用域要看您是何时以及如何声明该变量的. 如果您在脚本开头且在所有函数之外声明了某个变量 则该变量将在Global(全局)范围内存在,此时您就可以在脚本的任意位置读取或更改该变量, 我们把这种变量称为全局变量.

如果您是在某个 函数 内部声明一个变量则该变量就只在该函数的 Local(局部) 范围内有效,我们把这种变量称为局部变量. 在函数内创建的变量将在函数结束时 自动被销毁.

在默认情况下,使用 Dim 声明的变量或在函数内部直接赋值而成的变量都是 Local(局部)变量,除非 有同名的全局变量存在(此时将视此变量为该全局变量).  另外我们可以使用关键字 Local 和 Global 来声明变量以 强制 变量的作用域.

数组

所谓数组是一系列具有相同类型和大小的变量的集合. 其中每个变量可以用相应的索引序号(下标)来访问. 

例如:

假设你要存取这样一系列的字符: "A", "U", "T", "O", "I", "T" 和 "3".
你可以使用7个单独的变量来完成,但使用如下数组将更有效率:

$Array[0]="A"
$Array[1]="U"
..等等..
$Array[6]="3"

存取数组中的某个特定值,你只需知道它的索引序号(下标):

$MyChar=$Array[2]

这将使变量 $MyChar 的值为字母"T" (参见: '运算符').


下标也可以使用变量或表达式,所以你可以建立更加复杂的方式来赋值或访问数组.


数组可以是多维的,当你使用多个下标时, 例如:

$Array[0][0]="Upper-Left"
$Array[1][0]="Lower-Left"
$Array[0][1]="Upper-Right"
$Array[1][1]="Lower-Right"

(这里只是举个例子)

你最高可以使用 64 维数组变量. 元素总数不能超过 2^24 (16 777 216).

当你在脚本里使用数组之前, 你必须使用关键字'Dim'来定义它的维数.

数组里面的数据类型


有人说数组仅能包含一种数据类型. 但是从技术上来讲,变量可以包含包括布尔值在内的任何数据. 所以一个数组可以包含不同的类型, 甚至别的数组:

$Array[0]=1
$Array[1]=true
$Array[2]="Text"
$Array[3]=$AnotherArray

虽然并不明确禁止在一个数组中混合使用多种数据类型. 然而,那样做是极不明智的.尤其是当一个数组内使用另一个数组时,将严重影响脚本的运行速度!

目录
相关文章
|
2月前
|
存储 C语言 索引
C 语言数据类型详解
C语言中的数据类型主要包括基本数据类型、构造数据类型和用户定义数据类型。基本类型如整型(`int`)、字符型(`char`)、浮点型(`float`)、双精度浮点型(`double`)和无符号整型(`unsigned int`)。构造类型包括数组(`Array`)、结构体(`Struct`)、共用体(`Union`)和枚举(`Enum`)。用户定义类型则通过`typedef`为已有类型定义新名称,并可通过结构体和共用体自定义复合数据结构。此外,还有指针类型用于存储变量地址,以及`signed`、`unsigned`、`short`、`long`等类型修饰符。
75 11
|
5月前
|
存储 C语言
C 语言变量详解
C 语言变量详解
|
5月前
|
Rust 开发者
Rust变量与常量介绍
Rust变量与常量介绍
|
5月前
|
Rust 安全
Rust变量、常量声明与基本数据类型
Rust变量、常量声明与基本数据类型
|
6月前
|
C语言
C 语言常量
C 语言常量
32 1
C 语言常量
|
6月前
|
存储 编译器 C++
C++语言的变量和数据类型
C++语言的变量和数据类型
|
6月前
|
存储 Rust 编译器
Rust变量与数据类型
Rust变量与数据类型
|
6月前
|
存储 编译器 C++
C++语言中类型定义
C++语言中类型定义
130 0
|
6月前
|
存储 C# 开发者
C#变量类型
C#变量类型
50 0
|
JavaScript 前端开发 Java
各语言数据类型汇总
各语言数据类型汇总