Make the IPAddr type implement fmt.Stringer to print the address as a dotted quad.
For instance, IPAddr{1, 2, 3, 4} should print as "1.2.3.4".
1 package main
2
3 import "fmt"
4
5 type IPAddr [4]byte
6
7 // TODO: Add a "String() string" method to IPAddr.
8
9 func (ip IPAddr) String() string {
10 return fmt.Sprintf("%v.%v.%v.%v", ip[0], ip[1], ip[2], ip[3])
11 }
12
13 func main() {
14 hosts := map[string]IPAddr{
15 "loopback": {127, 0, 0, 1},
16 "googleDNS": {8, 8, 8, 8},
17 }
18 for name, ip := range hosts {
19 fmt.Printf("%v: %v\n", name, ip)
20 }
21 }