Go指南练习_Stringer
2019-04-15 15:52发布
生成海报
源地址
https://tour.go-zh.org/methods/18
一、题目描述
通过让
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
", name, ip)
}
}
运行结果
参考文档
http://www.cplusplus.com/reference/cstdio/sprintf/
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮