定义:一个指针,指向一个函数的指针,在go语言中,function默认看作一个指针
package main
import "fmt"
func fun1() {
fmt.Println("func1...")
}
func main() {
var a func()
a = func1
a() // 调用fun1函数
}
指针函数:
定义:一个函数,该函数的返回值是一个指针
package main
import "fmt"
func fun2() [4]int {
arr := [4]int{1,2,3,4}
return arr
}
func fun3() *[4]int {
arr := [4]int{1,2,3,4}
return &arr
}
func main() {
arr1 := fun2()
fmt.Printf("arr1的类型:%T,地址:%p,数值:%v\n", arr1,&arr1,arr1)
// arr1的类型:[4]int,地址:0xc0000101c0,数值:[1 2 3 4]
arr2 := fun3()
fmt.Printf("arr2的类型:%T,地址:%p,数值:%v\n", arr2,&arr2,arr2)
// arr2的类型:*[4]int,地址:0xc000006030,数值:&[1 2 3 4]
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)