Dart的变量:
变量名是分配给用户存储数据的内存位置的名称,并且在需要时可以通过调用其变量名在变量的帮助下获取该数据。有多种类型的变量用于存储数据。用于存储数据的类型取决于要存储的数据类型。
变量声明:
声明一个变量:
Syntax: type variable_name;
声明多个相同类型的变量:
Syntax: type variable1_name, variable2_name, variable3_name, ....variableN_name;
变量的类型可以是:
1. Integer
2. Double
3. String
4. Booleans
5. Lists
6. Maps
写入变量名或标识符的条件:
- 变量名或标识符不能是关键字。
- 变量名或标识符可以包含字母和数字。
- 变量名或标识符不能包含空格和特殊字符,下划线 (_)和美元 ($)符号除外。
- 变量名或标识符不能以数字开头。
笔记:
Dart支持类型检查,即检查数据类型和数据
变量保持是否特定于该数据。
示例 1:
在Dart中打印不同数据类型变量的默认值和赋值。
Dart
void main() {
// Declaring and initialising a variable
int gfg1 = 10;
// Declaring another variable
double gfg2;
bool gfg3;
// Declaring multiple variable
String gfg4, gfg5 = "Geeks for Geeks";
// Printing values of all the variables
print(gfg1); // Print 10
print(gfg2); // Print default double value
print(gfg3); // Print default string value
print(gfg4); // Print default bool value
print(gfg5); // Print Geeks for Geeks
}
Dart
void main() {
// Assigning value to geek variable
dynamic geek = "Geeks For Geeks";
// Printing variable geek
print(geek);
// Reassigning the data to variable and printing it
geek = 3.14157;
print(geek);
}
Dart
void main() {
// Assigning value to geek1 variable without datatype
final geek1 = "Geeks For Geeks";
// Printing variable geek1
print(geek1);
// Assigning value to geek2 variable with datatype
final String geek2 = "Geeks For Geeks Again!!";
// Printing variable geek2
print(geek2);
}
Dart
void main() {
// Assigning value to geek1 variable without datatype
const geek1 = "Geeks For Geeks";
// Printing variable geek1
print(geek1);
// Assigning value to geek2 variable with datatype
const geek2 = "Geeks For Geeks Again!!";
// Printing variable geek2
print(geek2);
}
输出:
10
null
null
null
Geeks for Geeks
Dart的关键字:
关键字是一组保留字,不能用作变量名或标识符,因为它们是标准标识符,其函数在Dart中预定义。
Dart的动态类型变量:
这是一个用关键字dynamic初始化的特殊变量。使用此数据类型声明的变量可以在程序运行期间隐式存储任何值。它与Dart的var数据类型非常相似,但它们之间的区别在于,当您使用 var 关键字将数据分配给变量时,它会被适当的数据类型替换。
Syntax: dynamic variable_name;
示例 2:
显示如何使用 dynamic 关键字动态更改数据类型。
Dart
void main() {
// Assigning value to geek variable
dynamic geek = "Geeks For Geeks";
// Printing variable geek
print(geek);
// Reassigning the data to variable and printing it
geek = 3.14157;
print(geek);
}
输出:
Geeks For Geeks
3.14157
注意:如果我们在上面的代码中使用 var 而不是 dynamic ,那么它会显示错误。
输出:
Error compiling to JavaScript:
main.dart:9:10:
Error: A value of type 'double' can't be assigned to a variable of type 'String'.
geek = 3.14157;
^
Error: Compilation failed.
Dart的Final 和 Const 关键字:
这些关键字用于在Dart定义常量变量,即一旦使用这些关键字定义了一个变量,那么它的值就不能在整个代码中改变。这些关键字可以在有或没有数据类型名称的情况下使用。
Syntax for Final:
// Without datatype
final variable_name
// With datatype
final data_type variable_name
Syntax for Const:
// Without datatype
const variable_name
// With datatype
const data_type variable_name
示例 3:
在Dart程序中使用 final 关键字。
Dart
void main() {
// Assigning value to geek1 variable without datatype
final geek1 = "Geeks For Geeks";
// Printing variable geek1
print(geek1);
// Assigning value to geek2 variable with datatype
final String geek2 = "Geeks For Geeks Again!!";
// Printing variable geek2
print(geek2);
}
输出:
Geeks For Geeks
Geeks For Geeks Again!!
现在,如果我们尝试在上述程序中重新分配 geek1 变量,则:
输出:
Error compiling to JavaScript:
main.dart:8:3:
Error: Can't assign to the final variable 'geek1'.
geek1 = "Geeks For Geeks Again!!";
^^^^^
Error: Compilation failed.
示例 4:
在Dart程序中使用 const 关键字。
Dart
void main() {
// Assigning value to geek1 variable without datatype
const geek1 = "Geeks For Geeks";
// Printing variable geek1
print(geek1);
// Assigning value to geek2 variable with datatype
const geek2 = "Geeks For Geeks Again!!";
// Printing variable geek2
print(geek2);
}
输出:
Geeks For Geeks
Geeks For Geeks Again!!
现在,如果我们尝试在上述程序中重新分配 geek1 变量,则:
输出:
Error compiling to JavaScript:
main.dart:8:2:
Error: Can't assign to the const variable 'geek1'.
geek1 = "Geeks For Geeks Again!!";
^^^^^
Error: Compilation failed.