Я следил за структурой в файле tf
, не могли бы вы помочь мне создать правильный structure
, так как я новичок в Go.
Вот tf
ipv4 = {
cidrblock = "10.0.0.0/16"
secondary = [
{
cidrs = "20.0.0.0/16"
enabled = true
},
{
cidrs = "30.0.0.0/16"
enabled = true
}
]
}
Итак, у меня есть объект строк, а также список объектов в основном объекте. Я мог бы сделать примитивный тип, например:
type ipv4 struct {
cidrblock string
cidrs string
enabled bool
}
type ipv6 struct {
border string
generate bool
}
type Sets struct {
Name string
IPv4 *ipv4
IPv6 *ipv6
Tags map[string]string
Tenancy string
}
Но мне бы очень хотелось иметь сложную структуру
Я имею в виду, что хотел бы иметь что-то вроде; список>карта>список>карта. В основном я хотел бы иметь 1 единый интерфейс
к сожалению, вы не можете сделать это со структурой. вы должны разбить его, определив структуры
вы работаете над созданием какого-то поставщика терраформ? может это поможет: hashicorp.com/blog/writing-custom-terraform-providers
Нет, я не создаю свой провайдер, мне нужно написать тест для модуля, однако, как я уже говорил, я не могу сделать структуру, может быть, вы можете привести пример, как я могу это сделать, разбивая структура?
Возможно, то же самое, что и stackoverflow.com/questions/71879471/…
вы можете сделать что-то вроде этого:
type ipv4 struct {
cidrblock string
secondary []ipv4secondary
}
type ipv4secondary struct {
cidrblock string
enabled bool
}
и используйте его как это:
example := ipv4{
cidrblock: "10.0.0.0/16",
secondary: []ipv4secondary{
ipv4secondary{cidrblock: "20.0.0.0/16", enabled: true},
ipv4secondary{cidrblock: "30.0.0.0/16", enabled: true},
},
}
вот пример: https://go.dev/play/p/U7o0BbAis9T
что вы имеете в виду под сложным интерфейсом?