美文网首页
自定义类型及转化

自定义类型及转化

作者: zzjack | 来源:发表于2017-10-11 06:08 被阅读0次
    time.Sleep(300*time.Second)
    

    这样的代码是没问题的。但是当300成为变量值的时候,上述写法就会出现异常。

    sleep := int64(300)
    time.Sleep(sleep*time.Second)
    //ERROR :mismatched types time.Duration and int
    

    然后我跑去看源码,我发现time.Duration是type Duration int64,这说明Duration是个自定义的类型,需要进行类型转化。

    a := time.Duration(sleep)
    reflect.TypeOf(a)
    // time.Duration
    

    这样就可以把sleep转化为time.Duration类型了。
    所以最初的代码做如下改动就不会报错了。

    sleep := time.Duration(int64(300))
    time.Sleep(sleep*time.Second)
    

    相关文章

      网友评论

          本文标题:自定义类型及转化

          本文链接:https://www.haomeiwen.com/subject/injiyxtx.html