使用运算符代替函数

是否可以在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))

}

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


繁花不似锦
浏览 196回答 1
1回答

九州编程

运算符不是Go语言(不是大多数其他语言)中的一等值,因此不能,您不能将它们作为参数传递。即使通知转到文档使用了func(x,y int) int { return x+y }在它的例子。还要注意,用于运算符的语法不允许没有相应表达式的运算符的任何选项。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go