登录
首页 >  Golang >  Go问答

给定一个方法值,获取接收者对象

来源:Golang技术栈

时间:2023-04-06 09:24:27 185浏览 收藏

学习Golang要努力,但是不要急!今天的这篇文章《给定一个方法值,获取接收者对象》将会介绍到golang等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

问题内容

Go中有没有办法从方法值中获取接收者对象?

例如,是否有任何这样的东西MagicFunc会使以下程序my info从底层 Foo 实例输出字符串。

package main

import "fmt"

type Foo struct {
    A string
}

func (foo *Foo) Bar() string {
    return "bar"
}

func MyFunc(val interface{}) {
    i := MagicFunc(val)
    f := i.(Foo)
    fmt.Println(f.A)
}

func main() {
    f := Foo{A: "my info"}
    MyFunc(f.Bar)
}

正确答案

不,不可能获取方法的接收器实例。

如果您使用方法表达式 而不是 方法值 ,则最多可以获得接收者的类型,但这无助于您获取my info字符串。

本篇关于《给定一个方法值,获取接收者对象》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>