代码生成关键步骤
- 定义函数类型:定义一个函数类型,它接受两个整数参数并返回一个整数。
- 使用map来存储符号与函数的映射:创建一个map,键为运算符号,值为对应的运算函数。
- 根据输入符号获取对应函数:通过用户输入的符号,从map中获取对应的运算函数。
完整代码示例
package main
import (
"fmt"
"errors"
)
// 定义函数类型
type MathFunc func(int, int) int
func main() {
// 初始化符号与函数的映射
mathFuncs := map[string]MathFunc{
"+": func(a, b int) int {
return a + b
},
"-": func(a, b int) int {
return a - b
},
"*": func(a, b int) int {
return a * b
},
"/": func(a, b int) int {
return a / b
},
}
symbol := "+" // 模拟用户输入的符号
num1 := 5
num2 := 3
// 根据符号获取函数
mathFunc, ok := mathFuncs[symbol]
if!ok {
fmt.Println("不支持的运算符号")
return
}
result := mathFunc(num1, num2)
fmt.Printf("%d %s %d = %d\n", num1, symbol, num2, result)
}