先上代码 想打印一个小时以后的时间 ,但是编译报错了
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println("60minuteslater", addtime(60))
}
func addtime(durat int) (result time.Time) {
now := time.Now()
result = now.Add(durat*time.Minute)
return result
}
go build 提示
invalid operation: durat * time.Minute (mismatched types int and time.Duration)
time.Add(d Duration)
,很明显,入参是time.Duration
类型,它是int64
的别名。你的durat
也需要转成time.Duration
才行,就像这样:result = now.Add(time.Duration(durat) * time.Minute)
。顺便说一句,
durat
定义成int64
更合适。