我正在完成 golang 之旅,但被困在其中一项练习中。我不确定为什么以下不适用于 String() 函数:
type IPAddr [4]byte
func (addr IPAddr) String() string {
return string(addr[0]) + "." + string(addr[1]) + "." + string(addr[2]) + "." + string(addr[3])
}
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)
}
}
输出:
loopback: ...
googleDNS: ...
当然,使用fmt.Sprintf()会是一个更好的解决方案,但我不确定我是否理解为什么该功能不起作用。
斯蒂芬大帝
慕斯王
相关分类