gpt4 book ai didi

go - 我们可以在 Go 中使用函数指针吗?

转载 作者:IT老高 更新时间:2023-10-28 12:58:46 24 4
gpt4 key购买 nike

我正在学习 Go 中的指针。并设法写出类似的东西:

func hello(){

fmt.Println("Hello World")
}

func main(){

pfunc := hello //pfunc is a pointer to the function "hello"
pfunc() //calling pfunc prints "Hello World" similar to hello function
}

有没有办法声明函数指针而不像上面那样定义它?我们可以像在 C 中那样编写一些东西吗?

例如void (*pfunc)(void);

最佳答案

如果您使用签名,它会起作用。没有指针。

type HelloFunc func(string)

func SayHello(to string) {
fmt.Printf("Hello, %s!\n", to)
}

func main() {
var hf HelloFunc

hf = SayHello

hf("world")
}

您也可以直接使用函数签名,而无需声明新类型。

关于go - 我们可以在 Go 中使用函数指针吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3601796/

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