实例化具有不同功能签名的对象时功能实现的差异


凯撒
2025-03-18 03:31:48 (21天前)


遇到以下差异的功能实现。示例1返回指针和示例2返回实际对象的原因是什么?

输入MyInterface接口{


2 条回复
  1. 0# 爱我真好 | 2019-08-31 10-32



    即使我不确定问题的代码部分是什么,让我解释代码的作用:




    MyInterface

    由具有的任何东西实现

    Func(int)float64

    方法。



    *MyInterfaceImpl

    有这样的方法。然而,

    MyInterfaceImpl

    没有(该方法有一个指针接收器)。




    NewMyInterface()

    因此必须返回一个指针。

    MyInterfaceImpl{}

    不会实施

    MyInterface




    这回答了你的问题了吗?





    另一个问题可能是电话会议的原因

    myImpl.Func(100)

    尽管如此,仍然有效。这是因为



    使用指针接收器调用其方法时自动获取接收器的地址。

    例如,这将更详细地解释

    这里



登录 后才能参与评论