Robert Griesemer 亲述:只解决 90% 问题的“箭头函数”该长什么样? (opens in new tab)
本文永久链接 – 大家好,我是Tony Bai。 在 Go 语言的演进史上,很少有一个 Issue 能像 #21498 这样,跨越 9 年时光,累积近千条评论,却依然让官方核心团队如履薄冰。 这个 Issue 的目标很单纯:为 Go 提供一种更简洁的匿名函数语法(Short Function Literals)。或者用大白话说,大家想要一个像 JavaScript 或 Rust 那样的“箭头函数”。 每当一个 Gopher 在代码里写下: slices.SortFunc(users, func(a, b User) int { return cmp.Compare(a.Age, b.Age) }) 他大概率会在心里暗骂一句:“这代码真够笨重的。” 然而,Go 团队对此的回应一直是:“我们不想要魔法,我们只想要清晰。” 这种坚持让社区陷入了长达数年的僵局。 但就在最近,这场僵局似乎正在被化解。 Go 语言之父之一的Robert Griesemer 亲自下场发表了一段重量级评论。他没有给出一个试图满足所有人的复杂方案,而是抛出了一个充满工程智慧的诠释: “也许试图为任何函数解决这个语...
Read the original article