Filling struct array in golang

huangapple go评论109阅读模式
英文:

Filling struct array in golang

问题

我有一个结构体如下:

  1. type Coverage struct {
  2. neoCoverage []NeoCoverage
  3. ApocCoverage []ApocCoverage
  4. ApocConfigCoverage []ApocConfigCoverage
  5. }

还有一个结构体:

  1. type NeoCoverage struct {
  2. Name string
  3. Number string
  4. }

那么我应该如何填充 Coverage 结构体呢?

我尝试的方式如下:

  1. coverage = Coverage{
  2. []neoCoverage: NeoCoverage{
  3. Name: "xyz",
  4. Number: "xyz123",
  5. },
  6. }

请注意,你在填充 Coverage 结构体时,应该使用 neoCoverage 的小写形式。希望这对你有帮助!

英文:

I have struct like

  1. type Coverage struct {
  2. neoCoverage []NeoCoverage
  3. ApocCoverage []ApocCoverage
  4. ApocConfigCoverage []ApocConfigCoverage
  5. }

And

  1. type NeoCoverage struct {
  2. Name string
  3. Number string
  4. }

So how should i fill coverage struct?

Here how I am Trying.

  1. coverage = Coverage{
  2. []neoCoverage: NeoCoverage{
  3. Name: "xyz",
  4. Number: "xyz123",
  5. },
  6. }

答案1

得分: 8

你可以在数组中省略冗余的类型声明。以Alper的代码为例:

  1. package main
  2. import "fmt"
  3. func main() {
  4. type NeoCoverage struct {
  5. Name string
  6. Number string
  7. }
  8. type Coverage struct {
  9. neoCoverage []NeoCoverage
  10. }
  11. coverage := Coverage{
  12. neoCoverage: []NeoCoverage{
  13. {Name: "xyz", Number: "xyz123"},
  14. {Name: "abc", Number: "abc123"},
  15. },
  16. }
  17. fmt.Println(coverage)
  18. }

输出结果:

  1. {[{xyz xyz123} {abc abc123}]}
英文:

You can also omit the redundant Type declarations in the array. Using Alper's code base as example.

  1. package main
  2. import "fmt"
  3. func main() {
  4. type NeoCoverage struct {
  5. Name string
  6. Number string
  7. }
  8. type Coverage struct {
  9. neoCoverage []NeoCoverage
  10. }
  11. coverage := Coverage {
  12. neoCoverage: []NeoCoverage {
  13. { Name: "xyz", Number: "xyz123" },
  14. { Name: "abc", Number: "abc123" },
  15. },
  16. }
  17. fmt.Println(coverage)
  18. }

Output:

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

答案2

得分: 7

以下是翻译好的内容:

  1. package main
  2. import "fmt"
  3. func main() {
  4. type NeoCoverage struct {
  5. Name string
  6. Number string
  7. }
  8. type Coverage struct {
  9. neoCoverage []NeoCoverage
  10. }
  11. coverage := Coverage{
  12. neoCoverage: []NeoCoverage{
  13. NeoCoverage{Name: "xyz", Number: "xyz123"},
  14. NeoCoverage{Name: "abc", Number: "abc123"},
  15. },
  16. }
  17. fmt.Println(coverage)
  18. }

输出结果:

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

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

英文:

Something like below

  1. package main
  2. import "fmt"
  3. func main() {
  4. type NeoCoverage struct {
  5. Name string
  6. Number string
  7. }
  8. type Coverage struct {
  9. neoCoverage []NeoCoverage
  10. }
  11. coverage := Coverage {
  12. neoCoverage: []NeoCoverage {
  13. NeoCoverage{ Name: "xyz", Number: "xyz123" },
  14. NeoCoverage{ Name: "abc", Number: "abc123" },
  15. },
  16. }
  17. fmt.Println(coverage)
  18. }

Output

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

Here is the brief explanation; neoCoverage: []NeoCoverage{} stands for the slice of NeoCoverage and that slice should be populated with NeoCoverage{} elements as in NeoCoverage{ Name: "xyz", Number: "xyz123" }, ...

huangapple
  • 本文由 发表于 2015年1月17日 23:33:03
  • 转载请务必保留本文链接:https://go.coder-hub.com/28001040.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定