对于以下代码:
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))
}
Run Code Online (Sandbox Code Playgroud)
有没有办法返回指向函数的指针而不是直接返回函数?(就像是return &a)?
游乐场在这里: 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))
}
Run Code Online (Sandbox Code Playgroud)
并且没有命名类型:
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))
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2649 次 |
| 最近记录: |