在golang中填充结构数组

Filling struct array in golang

我有这样的结构

type Coverage struct {
  neoCoverage        []NeoCoverage
  ApocCoverage       []ApocCoverage
  ApocConfigCoverage []ApocConfigCoverage
}

type NeoCoverage struct {
  Name   string
  Number string
}

那么我应该如何填充覆盖结构?

这是我正在尝试的方式。

coverage = Coverage{
 []neoCoverage: NeoCoverage{
     Name:   "xyz",
     Number: "xyz123",
   },
 }

类似下面的内容

package main

import "fmt"

func main() {
    type NeoCoverage struct {
        Name   string
        Number string
    }

    type Coverage struct {
        neoCoverage []NeoCoverage
    }

    coverage := Coverage {
        neoCoverage: []NeoCoverage {
            NeoCoverage{ Name: "xyz", Number: "xyz123" },
            NeoCoverage{ Name: "abc", Number: "abc123" },
        },
    }

    fmt.Println(coverage)
}

输出

{[{xyz xyz123} {abc abc123}]}

这里是简要说明; neoCoverage: []NeoCoverage{} 代表 NeoCoverage 的切片,该切片应填充 NeoCoverage{} 元素,如 NeoCoverage{ Name: "xyz", Number: "xyz123" }, ...

您也可以省略数组中多余的Type声明。以 Alper 的代码库为例。

package main

import "fmt"

func main() {
    type NeoCoverage struct {
         Name   string
         Number string
    }

    type Coverage struct {
        neoCoverage []NeoCoverage
    }

    coverage := Coverage {
        neoCoverage: []NeoCoverage {
            { Name: "xyz", Number: "xyz123" },
            { Name: "abc", Number: "abc123" },
        },
    }

    fmt.Println(coverage)
}

输出:

{[{xyz xyz123} {abc abc123}]}