Go指南练习_Stringer
程序员文章站
2022-03-04 18:28:04
源地址 https://tour.go-zh.org/methods/18 一、题目描述 通过让 IPAddr 类型实现 fmt.Stringer 来打印点号分隔的地址。 例如,IPAddr{1, 2, 3, 4} 应当打印为 "1.2.3.4"。 二、题目分析 设置IPAddr类型; 借助fmt. ......
源地址
一、题目描述
通过让 IPAddr
类型实现 fmt.Stringer
来打印点号分隔的地址。
例如,IPAddr{1, 2, 3, 4}
应当打印为 "1.2.3.4"
。
二、题目分析
- 设置IPAddr类型;
- 借助fmt.Stringer函数打印地址。
三、Go代码
import "fmt" type IPAddr [4]byte // TODO: Add a "String() string" method to IPAddr. func (v IPAddr) String() string{ return fmt.Sprintf("%v.%v.%v.%v", v[0],v[1],v[2],v[3]) } 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) } }
运行结果
参考文档