如何在golang中的struct中添加项目到数组

时间:2013-12-01 02:57:19

标签: arrays struct go

使用下面的代码如何将IP结构添加到Server结构的ips数组?

import (
    "net"
)

type Server struct {
    id int
    ips []net.IP
}

func main() {
    o := 5
    ip := net.ParseIP("127.0.0.1")
    server := Server{o, ??ip??}
}

我的ips阵列是否正确?使用指针更好吗?

1 个答案:

答案 0 :(得分:7)

切片文字看起来像[]net.IP{ip}(或[]net.IP{ip1,ip2,ip3...}。从风格上看,带有名称的struct初始化程序是首选,因此Server{id: o, ips: []net.IP{ip}}更为标准。整个代码示例包含这些更改:

package main

import (
    "fmt"
    "net"
)

type Server struct {
    id  int
    ips []net.IP
}

func main() {
    o := 5
    ip := net.ParseIP("127.0.0.1")
    server := Server{id: o, ips: []net.IP{ip}}
    fmt.Println(server)
}

你问了

  

我的ips阵列是否正确?使用指针更好吗?

您不需要使用指向切片的指针。切片是包含指针,长度和容量的小结构。