这可能不是一个好问题,因为我不知道任何支持此功能的编译语言,但由于 Go 总是让我感到惊讶,所以我还是会问它:
为了我自己的练习,我正在用 Go 编写一个小计算器程序。我想知道是否有一种方法可以声明和分配“Operator”类型的变量,例如,我可以这样写:
var o Operator
o = +
var o1 Operator
o1 = /
并像这样写函数
func DoOperation(a,b int,o Operator) int{
return a o b
}
(不,我不是在问运算符重载。)
顺便说一句,我不知道任何支持这种事情的编译语言(我不是这方面的专家)。我确实查看了操作员下的文档,但一无所获。Go可以再给我一个惊喜吗?
编辑: 接受的答案指出 Haskell 支持这一点,
慕姐8265434
Qyouu
相关分类