Go函数式编程以及在Tendermint/Cosmos-SDK中的应用
Go函数式编程以及在Tendermint/Cosmos-SDK中的应用 函数式编程(Functional Programming)实际是非常古老的概念,不过近几年大有越来越流行之势,连很多老牌语言(比如Java)也增加了对函数式编程的支持。本文结合Temdermint/Cosmos-SDK源代码,介绍函数式编程中最重要的一些概念,以及如何使用Go语言进行函数式编程。以下是本文将要讨论的主要内容: 一等函数 高阶函数 匿名函数 闭包 λ表达式 一等函数 如果在一门编程语言里,函数(或者方法、过程、子例程等,各种语言叫法不同)享有一等公民的待遇,那么我们就说这门语言里的函数是一等函数(First-class Function )。那怎样才能算是“一等公民”呢?简单来说就是和其他数据类型待遇差不多...阅读全文