美文网首页
Go一个函数式编程小设计

Go一个函数式编程小设计

作者: 浑浑噩噩_邋邋遢遢 | 来源:发表于2017-07-06 21:09 被阅读0次
用map加func设计插件式的程序

巧妙了运用了函数在go中是“一等公民“”的特性。创建一个map,并将value设置为func类型。这样在根据string的key取到的值, 这个值就可以直接被调用。

package main

import (
    "os"
    "fmt"
    "strconv"
)
func add(m, n int) int {
    return m + n
}

func sub(m, n int) int {
    return m - n
}
func mul(m, n int) int {
    return m * n
}
func div(m, n int) int {
    return m / n
}

func main() {
    func_map := map[string]func(m, n) int{
        "+": add,
        "-": sub,
        "*": mul,
        "/": div,
    }

    m, _ := strconv.Atoi(os.Args[1])
    n, _ := strconv.Atoi(os.Args[3])

    f := func_map[os.Args[2]]
    if f != nil{
        fmt.Println(f(m, n))
    }
}

相关文章

  • Go 函数式编程实战

    Go 函数式编程实战-目录 序致谢前言关于本书关于作者 函数式编程简介1.1 函数概述1.2 什么是函数式编程1....

  • Go一个函数式编程小设计

    用map加func设计插件式的程序 巧妙了运用了函数在go中是“一等公民“”的特性。创建一个map,并将value...

  • GO学习笔记(12)-斐波那契数列与函数编程

    目录 函数指针 vs 函数式编程 闭包 斐波那契数列与函数接口 函数指针 vs 函数式编程 函数是go语言中的...

  • 浅析函数式编程

    一:什么是函数式编程 函数式编程(英语:functional programming)或称函数程序设计、泛函编程,...

  • JAVA的函数式接口

    函数式编程   函数式编程(英语:functional programming)或称函数程序设计、泛函编程,是一种...

  • 函数式编程

    我们今天说的Go中的函数式编程主要是体现在闭包上面的,比如 我们首先对比两个概念 函数式编程 vs 函数指针 函数...

  • 用 Kotlin 的函数式编程 替代 GOF 设计模式

    用 Kotlin 的函数式编程 替代 GOF 设计模式 函数式编程(FP) 《Kotlin极简教程》正式上架: 点...

  • Common Lisp:符号计算简单介绍(第七章)

    第七章 函数式编程(Applicative Programming) 7.1 导语 本书设计的三种编程风格是函数式...

  • 01-什么是函数式编程

    01-什么是函数式编程 什么是函数式编程 函数式编程的基础模型来源于 λ 演算,而 λ 演算并没有设计在计算机上执...

  • # Go 方法编程与面向对象

    上一节,我们看到 Go 函数特性及函数式编程风格。这一节,将会主要展示Go的方法特性及面向对象编程。什么是方法?当...

网友评论

      本文标题:Go一个函数式编程小设计

      本文链接:https://www.haomeiwen.com/subject/zsskhxtx.html