Я хочу автоматически сгенерировать некоторые файлы объявлений Golang на основе некоторых данных .json. В идеале я мог бы поместить все данные объявления / заголовка в один файл. Но то, как работает пакет / пространство имен Golang, я сомневаюсь, что смогу это сделать.
Вместо 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 { }
}
}
}
}
мой вопрос - есть ли способ сделать что-то подобное с Голангом? Или мне придется использовать отдельные файлы / папки для создания отдельных пространств имен?
Единственное, что я знаю, как сделать, это поместить их в отдельные файлы:
entities/
foo/
get/
put/
post/
delete/
и затем в каждой из этих папок что-то вроде:
package get
type Basic struct {
Req struct {}
Res struct {}
}
но, к сожалению, это не дает того, чего я хочу, потому что я не могу напрямую ссылаться на типы Basic.Req или Basic.Res.