来自 JavaScript 和 TypeScript,我想尝试一下 Go 并制作一个简单的计算器。既然 int 和 float 之间存在差异,那么编写接受任意数字的函数的首选方法是什么?
例如:
package main
func add(a float64, b float64) float64 {
return a + b;
}
func main() {
a := 1;
b := 2;
fmt.Println(add(1, 2)); // 3
fmt.Println(add(a, b)); // Cannot use a (type int) as type float64 in argument to add
fmt.Println(add(1.5, 3.2)); // 4.7
fmt.Println(add(2.5, 2)); // 4.5
}
Run Code Online (Sandbox Code Playgroud)
我是否需要将所有内容都转换为浮点型(因为它“覆盖”了 int 范围),还是为每种类型创建一个单独的函数,例如addInt(a int, b int) intand addFloat(a float64, b float64) float64?或者可能有一种更优雅的方式吗?