本文主要是介绍深入分析 Dart 集合操作符源码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
上篇文章我们详细介绍了有关 Dart 集合操作符函数的基本使用,那么这篇文章将会从源码角度,分析其内部原理。通过它你将会理解什么是惰性迭代器。
1. forEach 函数源码解析
void forEach(void f(E element)) {//可以看到在 forEach 内部实际上就是利用 for-in 迭代,每迭代一次就执行一次 f 函数,//并把当前 element 回调出去for (E element in this) f(element);}
2. map 函数源码解析
main() {var languages = <String>['Dart', 'Kotlin', 'Java', 'Javascript', 'Go', 'Python', 'Swift'];print(languages.map((language) => 'develop language is ${language}').join('---'));
}
以上面的例子为例。
首先,需要明确一点,languages 内部本质是一个 _GrowableList<T>
,我们都知道 _GrowableList<T>
这篇关于深入分析 Dart 集合操作符源码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!