函数式编程:Go语言中的应用与实践
1. 函数式编程基础
函数式编程强调声明要做什么,而非命令式地实现每个操作的细节。它避免了 for 循环的顺序性,因为这种顺序性难以融入并发编程模型。虽然Go不是纯粹的函数式编程语言,但它具备许多函数式特性,可用于编写简洁、富有表现力且无错误的代码。
纯函数式语言不维护状态,函数调用常采用链式调用,输入从一个函数传递到另一个函数,每个函数调用以某种方式转换其输入,且不关心外部状态,不产生副作用,这样的函数调用效率高,也便于测试。
2. 函数链式调用与Bash命令管道
函数链式调用类似于执行一系列Bash命令,一个命令的输出作为下一个命令的输入。例如,下面的Bash命令:
$ cat ips.log | awk '{print $7}' | sort | uniq -c
输入如下数据:
Sun Feb 12 20:27:32 EST 2017 74.125.196.101
Sun Feb 12 20:27:33 EST 2017 98.139.183.24
Sun Feb 12 20:27:34 EST 2017 151.101.0.73
Sun Feb 12 20:27:35 EST 2017 98.139.183.24
Sun Feb 12 20:27:36 EST 2017 151.101.0.73
Sun Feb 12 20:27:37 EST 2017 74.125.196.101
Sun Feb 12 20:27:38 EST 201
超级会员免费看
订阅专栏 解锁全文
747

被折叠的 条评论
为什么被折叠?



