gpt4 book ai didi

pointers - Go:是否可以返回指向函数的指针

转载 作者:数据小太阳 更新时间:2023-10-29 03:05:14 25 4
gpt4 key购买 nike

对于下面的代码:

package main

import "fmt"

type intFunc func(int) int

var t = func() intFunc {
a := func(b int) int { return b}
return a
}

func main() {
fmt.Println(t()(2))
}

有没有办法直接返回指向函数的指针而不是函数? (类似于 return &a)?

Playground 在这里:https://play.golang.org/p/IobCtRjVVX

最佳答案

是的,只要你正确转换类型:

https://play.golang.org/p/3R5pPqr_nW

type intFunc func(int) int

var t = func() *intFunc {
a := intFunc(func(b int) int { return b })
return &a
}

func main() {
fmt.Println((*t())(2))
}

没有命名类型:

https://play.golang.org/p/-5fiMBa7e_

var t = func() *func(int) int {
a := func(b int) int { return b }
return &a
}

func main() {
fmt.Println((*t())(2))
}

关于pointers - Go:是否可以返回指向函数的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42492123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com