1、Golang 不是函数式语言。

Map, reduce and filter in Go?

2、除了 GoF,还有更多设计模式。比如早已被玩烂的 MVC, MVP, MVVM……大规模软件有 POSA

Pattern-Oriented Software Architecture Volume 1

3、真正的函数式语言基本的 idiom 是不同的,参考

https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf

4、基于 3 之上,自然会有新的 DP 。有些也许与 GoF 是重合的,比如 Visitor “模式”基本是 FP 中最基础、最常见的逻辑块,而 singleton 这种全局共享状态的东西,在某些 strict FP 中可能根本就是不应该出现的。

结论:还是去写代码,写多了有足够概念了再去找别人总结的模式映射。什么都不了解的时候,这样的问题就是浪费时间。