Dart 编程中的词法范围
Dart是一种词法作用域语言。词法作用域意味着当我们向下移动到最新的变量声明时,变量值将取决于变量所在的最内层作用域。
示例
考虑下面显示的例子-
void main(){
var language = 'Dart';
void printLanguage(){
language = 'DartLang';
print("Language is ${language}");
}
printLanguage();
}在上面的例子中,我们改变了printLanguage()函数作用域内的语言变量的值,因为我们是在函数内部打印值,最里面的作用域是同一个代码块内的,因此我们将得到语言='DartLang'而不是语言='Dart'。 printLanguage()
输出结果
Language is DartLang
示例
让我们再考虑一个更复杂的例子,以便更好地理解词法范围。
考虑下面显示的例子-
void main() {
String language = "Dart";
void outerFunction() {
String level = 'one';
String ex = "scope";
void innerFunction() {
Map level = {'count': "Two"};
print('ex: $ex, level: $level');
print('Language: $language');
}
innerFunction();
print('ex: $ex, level: $level');
}
outerFunction();
}有在上面的例子中的多个领域,例如,我们有一个范围,一旦我们开始的主要功能,在这之后,另一个内部范围内打开,一旦我们进入outerFunction()和更范围,因为我们内部的移动innerFunction()。
输出结果
ex: scope, level: {count: Two}
Language: Dart
ex: scope, level: one热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下