代码之家  ›  专栏  ›  技术社区  ›  Jason Fingar

方法在另一个方法的上下文中不可访问

go
  •  0
  • Jason Fingar  · 技术社区  · 4 月前

    这是我正在尝试做的一个例子。由于某种原因,Go无法识别该方法 TheMethodIWantToCall

    package somePackage
    
    import (
        "path/to/dependency/A"
        "path/to/dependency/B"
    )
    
    type myClassConcrete struct {
        depA     *dependency.A
        depB     *dependency.B
    }
    
    func NewMyClassConcrete(a *dependency.A, b *dependency.b) MyClass {
        return &myClassConcrete{
            depA: a,
            depB: b,
        }
    }
    
    func (myClass myClassConcrete) SomeMethod(arg1 SomeType1, arg2 SomeType2) {
        myClass.depB.TheMethodIWantToCall()
    }
    

    以下是依赖项B的样子:

    package someOtherPackage
    
    type ServiceB interface {
        TheMethodIWantToCall() WhateverReturnType
        AnotherMethodICouldCall() SomeReturnType
    }
    

    ServiceB正确实现了所有方法。

    我是否缺少一些规则或命名约定,阻止我在另一个包/类实现的上下文中使用ServiceB中的方法?

    0 回复  |  直到 4 月前