dart中可以直接在一个文件里声明一个变量,这在其他语言中并不常见,比如c#语言只有类型才可以在命名空间下定义,变量必须放在类里声明
所以dart这点特性类似于js
今天就来讨论这个公共变量的作用范围,既然是全局性的变量,假如两个文件引用了这个变量,那么任意一个地方修改了这个变量,这个变量在其他地方也是改变的
验证:
1.在a文件里声明一个List
List<String> names= ['a','b'];
2.在b文件里定义一个类,然后一个属性引用a文件里的变量
import 'common.dart';
class Util
{
List<String> utilNames=names;
}
3.c文件里修改a文件的变量,然后调用b的类变量
import 'common.dart';
import 'util.dart';
main() {
Util util=Util();
names.add('c');
print(util.utilNames);
}
发现值是发生了变化了的
[a, b, c]