go - 如何创建一个字符串数组并从[] net.ip追加数据

标签 go

我刚刚创建了一个函数,该函数在输入中获取一个地址来解析ipv4和ipv6,因此包含这些ip地址的数组属于[]net.ip类型。
所以我有两个问题:

1-有什么方法可以创建[]string数组并将[]net.ip数组的每个值复制到[]string数组

2-稍后可以将数据添加到[]string数组吗?

谢谢

最佳答案

您可以创建一个实用程序函数来执行以下操作:

package main

import (
    "fmt"
    "net"
)


func transformIPArray(ipArray []net.IP) []string {
        s := make([]string,0)
    for _, ip := range ipArray {
        s = append(s, ip.String())
    }
    return s
}

func main() {
       #Get []string from []net.IP
       ip1 := net.ParseIP("192.100.10.4")
       ip2 := net.ParseIP("192.100.10.5")
       ips := []net.IP{ip1,ip2}
       s := transformIPArray(ips)
       fmt.Println(s)

       #Add new IP to the string array
       ip3 := net.ParseIP("192.100.10.6")
       s = append(s, ip3.String())
       fmt.Println(s)
}

您可以直接在此处检查此代码:https://play.golang.org/p/9T0ejuvu-HA

关于go - 如何创建一个字符串数组并从[] net.ip追加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60523398/

相关文章:

postgresql - 无法在容器之间建立连接

Golang 短变量声明显示错误未解决

go - 我如何编写一个方法来反转任何 slice ?

sql - 使用 Postgres 时为 "Operator does not exist: integer =?"

go - 如何在 Mac OS X 10.10 中设置 GOPATH

在 int 和 uint 之间转换的 Golang 成本

go - 构建接口(interface)

go - go 模块是否提供了类似于 maven 范围的机制?

unit-testing - 测试以检查功能是否未运行?

windows - 如何在 Windows 系统上测试 App Engine 项目?