使用运算符代替函数

瑞士人

是否可以在go中使用运算符代替函数?

例如,下面的代码是有可能取代add+

package main

import "fmt"

var cur, prev int = 1, 1

func fib(f func(int, int) int) int {
    return f(cur, prev)
}

func main() {
    add := func(x int, y int) int { return x + y };
    fmt.Println(fib(add))
}

如果不可能将运算符用作函数,那么我希望获得指向澄清此说明的文档的链接。

琥珀色

运算符不是Go语言(也不是大多数其他语言)中的一等值,因此不能,您不能将它们作为参数传递。即使通知转到文档使用了func(x,y int) int { return x+y }在它的例子。

还要注意,用于运算符语法不允许没有相应表达式的运算符的任何选项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章