📜  Dart编程-变量(1)

📅  最后修改于: 2023-12-03 15:30:22.504000             🧑  作者: Mango

Dart编程-变量

在Dart语言中,变量是一个用来存储数据的容器。Dart中的变量可以通过不同的方式进行定义和声明,以满足不同的需求。

变量的类型

Dart支持以下几种类型的变量:

  • int: 整数类型的变量,如 123 等。
  • double: 浮点数类型的变量,如 3.140.2 等。
  • bool: 布尔类型的变量,只能取 truefalse
  • String: 字符串类型的变量,如 "Hello, World!"
  • List: 列表类型的变量,如 [1, 2, 3]
  • Map: 字典类型的变量,如 { "name": "John", "age": 30 }

除此之外,Dart中还有一种特殊的变量类型:dynamic。该类型的变量可以存储任意类型的数据。但需要注意的是,使用 dynamic 类型会导致程序运行时的性能开销增加,不建议频繁使用。

变量的声明和初始化

在Dart中,变量的声明和初始化可以在一个语句中完成:

// 声明一个整数变量,并初始化为 1
int a = 1;

// 声明一个字符串变量,并初始化为 "Hello, World!"
String greeting = "Hello, World!";

也可以分开声明和初始化两个步骤:

// 声明一个整数变量
int a;

// 初始化变量 a 的值为 1
a = 1;

对于一些不需要类型声明的变量(如循环计数器),可以使用 var 关键词进行声明和初始化:

// 声明并初始化一个字符串变量
var message = "Welcome to Dart!";

// 声明一个变量,但不初始化
var number;

// 初始化变量
number = 42;

需要注意的是,如果想要在声明变量时不进行初始化,需要使用 null 值:

// 声明一个表示年龄的整数变量,但不初始化
int age = null; // 错误的写法

// 正确的写法
int age;
变量的作用域

在Dart中,变量的作用域指的是变量所能被访问的范围。变量的作用域可以分为全局作用域和局部作用域。

全局作用域

在函数外面声明的变量拥有全局作用域,在整个 Dart 应用程序都是可见的。例如:

// 在函数外部声明的变量
int globalVar = 42;

void main() {
    // 可以在 main 函数中访问 globalVar 变量
    print(globalVar); // 输出 42
}

// 也可以在其他函数中访问 globalVar 变量
void foo() {
    print(globalVar); // 输出 42
}
局部作用域

在函数内部声明的变量拥有局部作用域,在函数内部可见。例如:

void main() {
    // 在 main 函数内部声明变量
    int localVar = 6;

    // 只能在 main 函数内部访问 localVar 变量
    print(localVar); // 输出 6
}

// 不能在其他函数中访问 localVar 变量(因为作用域只在 main 函数内部)