Как создать строковый массив и добавить данные из []net .ip - PullRequest
0 голосов
/ 04 марта 2020

Я только что создал функцию, которая взяла адрес во входных данных для разрешения ipv4 и ipv6, поэтому массив, содержащий эти ip-адреса, имеет тип []net.ip. Итак, у меня есть два вопроса:

1- Есть ли способ создать массив []string и скопировать каждое значение массива []net.ip в []string массив

2- Будет возможно ли позднее добавить данные в массив []string?

спасибо

1 Ответ

2 голосов
/ 04 марта 2020

Вы можете создать служебную функцию, чтобы сделать это следующим образом:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...