Go 函数指针与指针函数

Go 函数指针与指针函数,第1张

函数指针:

定义:一个指针,指向一个函数的指针,在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]
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/989928.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存