【外评】为什么人们对 Go 1.23 的迭代器设计感到愤怒?
💡
原文中文,约6900字,阅读约需17分钟。
📝
内容提要
这篇文章讨论了人们对Go 1.23迭代器设计的不满,认为其过于函数式与Go的命令式语言特性相悖。作者提出了自己的设计方案,并讨论了C++和Odin的迭代器设计。文章认为迭代器设计违背了Go的初衷,让其变得更复杂。
🎯
关键要点
-
人们对Go 1.23的迭代器设计感到愤怒,认为其过于函数式,违背了Go的命令式特性。
-
作者提出了自己的设计方案,并讨论了C++和Odin的迭代器设计。
-
Go 1.23的迭代器设计让代码变得复杂,尤其是对于普通程序员来说。
-
推迭代器的实现和使用更方便,但可能导致控制流中存储数据的复杂性。
-
作者认为Go的设计理念是让普通程序员易于理解,而新迭代器设计却让Go变得复杂。
-
Odin的迭代器设计更简单明了,避免了复杂的闭包和回调。
-
C++的迭代器设计复杂,但在本地操作上更直接,Go的迭代器设计则显得不够直观。
-
总体而言,Go的迭代器设计与许多人对Go的理解相悖,可能导致语言的复杂性增加。
➡️