Go Testing定义自定义结构

Go Testing define custom structure

我遵循了 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
}

但我真的很想有一个复杂的结构

你可以这样做:

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