package main
import (
"fmt"
"strings"
)
type IPAddr [4]byte
func (ip IPAddr) String() string {
return strings.Trim(strings.Join(strings.Fields(fmt.Sprint([4]byte(ip))), "."), "[]")
}
func main() {
hosts := map[string]IPAddr{
"loopback": {127, 0, 0, 1},
"googleDNS": {8, 8, 8, 8},
}
for name, ip := range hosts {
fmt.Printf("%v: %v\n", name, ip)
}
}
Q 1:我没有看到对String()方法的任何调用,type IPAddr但它仍然被调用。为什么?
Q 2:为什么方法的名称必须是String()而不是Stringa(),Stringb()?
慕的地8271018
胡说叔叔
相关分类