当前位置: 首页 > 知识库问答 >
问题:

Go支持运算符类型变量吗?

滑乐逸
2023-03-14
var o Operator

o = +

var o1 Operator

o1 = /
func DoOperation(a,b int,o Operator) int{

    return a o b

}

编辑:接受的答案声明Haskell支持这一点,

共有1个答案

彭琛
2023-03-14

否,Go运算符不是函数,因此没有有效的右手表达式。它们以一种通用的方式工作,例如,加号运算符对所有数字类型都起作用,中缀符号a la haskell也不受支持。

您必须使用反射编写自己的“软”泛型加法函数。

一种涵盖所有需求的编译语言是Haskell。

 类似资料:
  • 问题内容: 我正在尝试使用Diamond运算符,但是却收到以下消息: -source 1.5中不支持Diamond运算符(使用-source 7或更高版本来启用Diamond运算符) 它可以在Android的netbeans中修复吗? 问题答案: Android需要Java来源合规性5.0或6.0(Java5 / 6)。开箱即用不支持Java7。这些文章描述了有关如何使用某些Java7功能的技巧:

  • 问题内容: 有没有一种方法可以执行以下任一操作: - 要么 - 问题答案: 并非开箱即用。但是,很容易以多种语言(包括JS)进行手工构建。 您可以使用基于ASCII的名称(例如)来避免在不需要时使用字符串。但是,由于有人用字符串表示运算符并希望从中获得功能,所以提出了与此问题类似的问题的一半。

  • 我正在尝试使用diamond运算符,但收到以下消息: Source 1.5中不支持diamond运算符(使用Source 7或更高版本启用diamond运算符) 它在Android的netbeans中是可以修复的吗?

  • 我一直在网上读锈书,我已经达到4.1,操作员和过载。我注意到将其定义为,并在特征中单独定义了。 我理解了这里的情况:函数将左侧接受为,将右侧接受为泛型参数类型。 我想知道为什么输出类型是用别名定义的,而不是另一个泛型(例如)?这只是一个惯例,还是有一个特定的原因?

  • 本文向大家介绍全面解析Java支持的数据类型及Java的常量和变量类型,包括了全面解析Java支持的数据类型及Java的常量和变量类型的使用技巧和注意事项,需要的朋友参考一下 基本数据类型 变量就是用来储存值而保留的内存位置。这就意味着当你创建一个变量时就会在内存中占用一定的空间。 基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可