题解 | #视频媒体标签属性#

网络延迟

http://www.nowcoder.com/practice/33dffe16f4554089aa5841b1c49a2bd0

// 第一种方式是使用golang标准库包errors 来定义错误。
func defineerr( ping int ) string {
    // write code here
    if ping > 100 {
        return errors.New("网络延迟").Error()
    }
    return ""
}

// 第二种方式是借用struct结构体,创建一个struct的Error()方法,注意这个方法名是Error,不然会出现找不到Error方法。
func defineerr( ping int ) string {
    // write code here
    if ping > 100 {
        return NetworkDelayError{}.Error()
    }
    return ""
}

type NetworkDelayError struct {

}

func (n NetworkDelayError) Error() string{
    return fmt.Sprintf("网络延迟")
}

// 帮助进一步理解Error, 自测输入150, 实际输出"延迟了150毫秒"
func defineerr( ping int ) string {
    // write code here
    if ping > 100 {
        return NetworkDelayError{delayCnt: ping}.Error()
    }
    return "网络正常"
}

type NetworkDelayError struct {
    delayCnt int // 延迟的毫秒数
}

func (n NetworkDelayError) Error() string{
    return fmt.Sprintf("延迟了%d毫秒", n.delayCnt)
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务