Iterator
迭代器
相比传统 for 循环,Rust 的迭代器链 + 闭包真是又简洁又强大,链式写法一气呵成,逻辑更纯粹,bug更少。
dict.iter().filter(|w| w.ends_with(".php")).map(|w| format!("{}/{}", base_url, w))
不仅优雅,还能配合 .collect(), .any(), .find() 直接构建扫描逻辑。
C
for (int i = 0; i < len; i++) {
sprintf(buf, "%s/%s.php", base_url, dict[i]);
// 处理 buf
}
Python
for word in dict:
url = f"{base_url}/{word}.php"
Rust(安全 + 性能 + 函数式优雅):
dict.iter()
.map(|w| format!("{}/{}.php", base_url, w))
.for_each(|url| do_request(&url));
零成本抽象内存安全链式处理优雅无比超强可组合性(filter/map/flat_map/take_while)
Rust安全开发交流群
原文始发于微信公众号(Eonian Sharp):Rust安全开发 | 迭代器
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论