0%

Go 语言学习笔记: 将 slice 类型 ip 地址转换为 string 类型

slice 类型的 ip 地址

1
type IPAddr [4]byte

字符串型的

1
2
"8.8.8.8"
"192.168.1.1"

将第一种转换为第二种

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//IPAddr 
type IPAddr [4]byte

func (ip IPAddr) String() string {
s := make([]string, len(ip))
for i := range ip {
s[i] = strconv.Itoa(int(ip[i]))
}
return strings.Join(s, ".")
}

func main() {
addrs := map[string]IPAddr{
"loopback": {127, 0, 0, 1},
"googleDNS": {8, 8, 8, 8},
}
for n, a := range addrs {
fmt.Printf("%v: %v\n", n, a)
}
}
···