我正在基于一些.json数据自动生成一些Golang声明文件。理想情况下,我可以将所有声明/标题数据放入一个文件中。但是我怀疑Golang打包/命名间隔的工作方式。
我可以使用TypeScript代替Golang,使用TypeScript,将许多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类型。
答案 0 :(得分:1)
Golang在逻辑上按包组织代码。每个目录是一个不同的包。如果要在不同的程序包中生成结构,则它们必须位于不同的目录中。
您可能想按语言样式来组织生成的库。 http
软件包对如何通过网络调用组织图书馆提出了很好的建议。