Go指南练习_Stringer

源地址 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\n", name, ip)
    }
}

运行结果

参考文档 http://www.cplusplus.com/reference/cstdio/sprintf/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java 成神之路

编码规范

3549
来自专栏前端说吧

CSS3中的animation动画

2735
来自专栏函数式编程语言及工具

FunDA(10)- 用户功能函数模式:User Function Model

   前面我们提过:FunDA就像一个管道(PipeLine)。管道内流动着一串数据(Data)或者运算指令(Action)。管道的源头就是能产生纯数据的数据源...

1815
来自专栏禁心尽力

mybatis_常用标签

1、<where></where>标签的作用 可以动态的添加where关键字 可以自动去掉第一个拼接条件的and关键字 1      <wher...

1977
来自专栏程序员的碎碎念

ThinkPHP page分页类的学习

实例化数据对象 1.$user=M('user'); 查询总记录数 $count = $user->count();//直接读取数据表中条项总数 ...

3205
来自专栏我是攻城师

Scala中的case match语法

2313
来自专栏从零开始学自动化测试

Selenium2+python自动化66-装饰器之运行失败截图

前言 对于用例失败截图,很多小伙伴都希望在用例执行失败的时候能自动截图,想法是很好的,实现起来并不是那么容易。 这里分享下我的一些思路,当然目前还没找到完美的解...

3234
来自专栏lgp20151222

$.ajax()方法参数详解

type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器...

501
来自专栏mathor

LeetCode329. 矩阵中的最长递增路径

 dfs,主函数中枚举起点,然后dfs函数中枚举四个方向进行移动,但是光dfs还不够,因为我们发现存在很多冗余,所以这是一道dfs+dp的问题,resul...

561
来自专栏JAVA后端开发

activiti的坑---流程删除触发节点结束

这个简单,实现activti的事件接口ExecutionListener中就可以了! 代码简单如下

992

扫码关注云+社区