在Golang中将函数作为函数参数传入,错在哪里?
看了半天感觉没什么问题啊,将countFunc作为参数传入,其参数为两个int类型也对得上,为啥传入就报这个错~
回答:
谢邀
1 函数原型包括返回值类型
2 golang不支持命名实参....
package mainimport (
"fmt"
)
func countFunc(a int, b int) (c, d int) {
return a + 1, b + 1
}
func mixFunc(op func(int, int) (int, int), a int, b int) (int, int) {
return op(a, b)
}
func main() {
q, r := mixFunc(countFunc, 2, 3)
fmt.Printf("%d %d\n", q, r)
}
回答:
传入函数和接收函数类型不符,函数原型包括返回值类型,将func mixFunc(op func(int, int), a, b int) (q, r int) {
改为 func mixFunc(op func(int, int) (c, d int), a, b int) (q, r int) {
就可以了
以上是 在Golang中将函数作为函数参数传入,错在哪里? 的全部内容, 来源链接: utcz.com/p/182195.html