Dart 编程中的变量


Dart 作为一种静态类型语言,要求我们声明要使用的变量的类型。简单来说,在使用变量之前,我们需要定义将在其中存储什么类型的数据。

示例

考虑以下示例:

 在线演示

void main(){
   int collegeId = 1234;    // declaring and assigning a variable
   print(collegeId);        // printing the variable's value

   String myName = "mukul";
   print(myName);
}

在上面的示例中,我们声明了两个名为 'collegeId' 和 'myName' 的变量,并分别为它们分配了 1234 和 "mukul" 作为值。在下一行,我们简单地打印存储在两个变量中的值。

输出

1234
mukul

还应该注意的是,Dart 还为我们提供了一些灵活的功能,我们可以使用 **var 关键字** 声明任何数据类型的变量。因此,在上面的示例中,我们声明了两个变量,即类型为 int 的 'collegeId' 和类型为 string 的 'myName',我们可以不声明类型,而用 var 关键字替换它们,并且 **dartAnalyzer** 将自动推断类型。

示例

考虑以下示例:

 在线演示

void main(){
   var collegeId = 1234;
   print(collegeId);

   var myName = "mukul";
   print(myName);
}

输出

1234
mukul

空值

在 Dart 中声明的变量并且没有分配任何值将自动保存一个空值。无论变量的数据类型是 bool 还是 String,或者我们是否使用 var 关键字声明了变量,Dart 中未分配的变量都将简单地保存空值。

示例

考虑以下示例:

 在线演示

void main(){
   var myVariable;           // a var variable
   int collegeID;           // int
   bool isStudent;          // a bool
   double marksInEnglish;  // a double
   String fullName;        // a string

   print(myVariable);
   print(collegeID);
   print(isStudent);
   print(marksInEnglish);
   print(fullName);
}

输出

null
null
null
null
null

还应该注意的是,一旦我们声明了特定类型的变量,我们就不能为其分配任何其他类型的值。

示例

考虑以下示例:

void main(){
   int collegeID = 1234;
   print(collegeID);
   collegeID = "idk";
   print(collegeID);
}

在上面的示例中,我们试图将字符串值分配给 int 变量,这是完全错误的。输出将是:

输出

Error: A value of type 'String' can't be assigned to a variable of
type 'int'.
   collegeID = "idk";
               ^
Error: Compilation failed.

即使我们使用 var 关键字声明变量,我们仍然不允许将其他类型的值分配给已经推断出的类型。

示例

考虑以下示例:

 在线演示

void main(){
   var collegeID = 1234;
   print(collegeID);
   collegeID = "idk";
   print(collegeID);
}

输出

Error: A value of type 'String' can't be assigned to a variable of
type 'int'.
   collegeID = "idk";
               ^
Error: Compilation failed.

更新于: 2021年5月24日

80 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告