在函数内部定义struct的方法

我有这个代码


func baz() {

    type mockDatabase struct{}


    //

    //  More code

    //

}

我想定义一个方法mockDatabase,所以完整的代码看起来像这样:


func baz() {

    type mockDatabase struct{}


    func (m *mockDatabase) Foo() {

        // Implement function here

    }


    //

    //  More code

    //

}

我想这样做的原因是我将依赖项注入到函数中,并且我想创建一个“模拟对象”来注入到函数中(该函数将一个接口作为参数,而模拟对象将实现该接口)。


我可以在外部创建结构,但在本地声明结构以减少命名空间混乱似乎更合乎逻辑,尤其是当这些模拟对象只使用一次时。我在这里错过了什么吗?在测试函数之外定义它以便它不长是更好的做法吗?我应该在这里做什么?


海绵宝宝撒
浏览 137回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go