这可能不是一个很好的问题,因为我不知道任何支持此功能的编译语言,但是因为Go始终令我感到惊讶,所以我仍会问这个问题:Go是否支持运算符类型变量?
对于我自己的练习,我正在Go上写一个小计算器程序。我不知道是否有一种方法可以让我申报和分配型“经营者”的一个变量,这样我可以,例如,写:
var o Operator
o = +
var o1 Operator
o1 =/
和写入功能这样
func DoOperation(a,b int,o Operator) int{
return a o b
}
(不,我不是问运营商超载。)
副手,我不知道任何编译语言支持这样的事情(我不是这方面的专家)。我看过运营商下的文档,什么都没发现。可以再次让我感到惊讶吗?
编辑:是哈斯克尔支持该接受的答案州,
任何特别的原因这是downvoted?由于Haskell支持这一点,根据@ tomwilde的回答,这不是一个愚蠢的问题,我看过运营商下的文档,什么都没发现,但Go似乎有它的份额'复活节彩蛋' – Vector
Io可以做这样的事情。 – dethtron5000
@ dethtron5000 - 有趣。从来没有听说过'Io',只是查看它 - 不是我认为的主流语言...... :)我看到它在虚拟机中运行。它是否编译成类似于Java字节码或MSIL的东西? – Vector