golang time.Duration() 问题

package main
import "time"
func main(){
    connectTimeout := 10
    time.Sleep(time.Second*connectTimeout)
}

这样使用会报错

int and time.Duration are different types. You need to convert the int to a time.Duration 

解决办法

connectTimeout := 10
time.Sleep(time.Duration(connectTimeout) * time.Second)

Golang 和时间相关可以直接使用数字, 但是不能使用float 浮点类型, 也不能直接是数值型变量

time.Sleep(1 * time.Second)    //可以
time.Sleep(1.1 * time.Second) //不可以
time.Sleep(time.Duration(yourTime) * time.Second) //可以
time.Sleep(yourTime * time.Second)                            //不可以

 

posted @ 2020-03-15 00:37  顽强的allin  阅读(6888)  评论(0编辑  收藏  举报