在命令式编程中,我们通常有如下所示的代码:
func addOneToSlice(xs []int) []int { rs := make([]int, len(xs)) for i, value := range xs { rs[i] = value 1 } return rs }
但是,请注意有关 for 循环的以下几点:
比较如何在 F# 中完成相同的任务:
let rec addOneToList = function | [] -> [] | x :: xs -> x 1 :: addOneToList xs
现在考虑以下事项:
考虑到这些限制,向不在列表开头的任何元素 y 添加 1 将显着改变我们函数的结构。
现在比较两种风格的计算进展情况:
在函数式风格中,将范围与计算进度相结合会产生以下结果:
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3