Exercise: Stringers

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 }

 

posted @ 2017-06-19 10:36  chpx  阅读(531)  评论(0编辑  收藏  举报