猿问

使用 golang 生成头文件/声明文件 - 都在一个文件中?

我希望根据一些 .json 数据自动生成一些 Golang 声明文件。理想情况下,我可以将所有声明/标头数据放入一个文件中。但是 Golang 包/命名空间的工作方式,我怀疑我能做到这一点。


我可以使用 TypeScript 代替 Golang,将许多 TS 类型/声明放在一个文件中,使用如下命名空间:


export namespace Entities {

  export namespace Foo {


    export namespace GET {

      export namespace Basic {


        export interface Req { }

        export interface Res { }


      }


    }


    export namespace PUT {

      export namespace Basic {


        export interface Req { }

        export interface Res { }


      }


    }


  }


}

我的问题是——有没有办法用 golang 做这样的事情?还是我必须使用单独的文件/文件夹来实现单独的命名空间?


我唯一知道如何做的就是将它们放在单独的文件中:


entities/

    foo/

      get/

      put/

      post/

      delete/

然后在每个文件夹中,类似于:


package get

type Basic struct {

     Req struct {}

     Res struct {}

}

但不幸的是,这并没有达到我想要的效果,因为我无法直接引用 Basic.Req 或 Basic.Res 类型


一只名叫tom的猫
浏览 99回答 1
1回答

慕哥9229398

Golang 按包逻辑组织代码。每个目录都是一个不同的包。如果你想在不同的包中生成结构,它们必须位于不同的目录中。您可能希望按语言风格来组织生成的库。该http软件包对如何通过网络调用组织图书馆有很好的建议。
随时随地看视频慕课网APP

相关分类

Go
我要回答