Dart - 如何访问全局范围?

Dart - How to access global scope?

简单的实际问题是

How to access GLOBAL scope in Dart?


下面就是我寻找它的原因。

我有一个问题,需要我从 here 了解 Dart 的范围解析,但不幸的是我找不到解决我的问题的方法,甚至从 Google 或这里也找不到,这是令我惊讶的是不得不打开这个问题。

Dart 允许用户在 class 范围内的成员变量访问中排除 this. 因此如果两个潜在冲突的变量需要共享相同的名称,则需要使用范围运算符来区分它们和参考。

我需要用成员变量 print 定义一个 class,其中还有全局函数 print 在 class 的某处被调用。当然 print() => print(...) 会 returns 出错,所以我期待像 print() => global.print(..) 这样简单的东西,但这都不起作用。

我知道有解决方法可以解决这个问题,但如果有的话,我需要一个简单的方法。谢谢。

您可以在文件顶部添加这一行:

import 'dart:core' as core;

那么您就可以将 print 称为 core.print(...);

问题是,现在您必须对每个基元使用 core.,例如 int,示例:

core.int variable = 1;

我认为这不值得,最好为您的打印方法使用另一个名称。