robert-min / project-go

Go 언어 리뷰와 기존에 파이썬으로 진행했던 프로젝트를 Go 언어로 개선한 repo
0 stars 0 forks source link

함수를 타입으로 사용 #9

Open robert-min opened 11 months ago

robert-min commented 11 months ago
package main

import "fmt"

func add(a, b int) int {
    return a + b
}

func mul(a, b int) int {
    return a * b
}

type opFunc func(int, int) int

func getOp(op string) opFunc {
    if op == "+" {
        return add
    } else if op == "*" {
        return mul
    } else {
        return nil
    }
}

func main() {
    var operator opFunc
    operator = getOp("*")

    var result = operator(3, 4)
    fmt.Println(result)
}