在dart中,如何对局部和顶层变量进行重新赋值?

8i9zcol2  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(96)
bool isAdult = false;
 isAdult=!isAdult;//error 
void main(List<String> args) {
  //If-statements
  isAdult=!isAdult; //no error
  int age = 21;
  if (age >= 21) {
    print('Adult 21');
  } else if (age >= 18) {
    print('adult');
  } else {
    print('child');
  }

  if (isAdult && age!=18) {
    print('Adult 21');
  } else if (age >= 18) {
    print('adult');
  } else {
    print('child');
  }
}

字符串
为什么在外部重新分配时会出错,而在主函数内部重新分配时不会?

如果有人能解释一下,与dart中的局部变量相比,顶级变量在重新分配方面有何不同,那将是很有帮助的。

s8vozzvw

s8vozzvw1#

我的理解是,顶级变量it不应该在代码块{}中。
所以在赋值的时候,Dart会明白你是在声明另一个变量,但是有两个问题:重复的名称和不正确的语法。
如果写在一个特定的块中,Dart将理解变量已经被定义并且赋值被接受。

void main(List<String> args) {
  bool isAdult = false;
  isAdult=!isAdult;
}

字符串
希望对你有用!xD

相关问题