如何在Go中将持续时间(time.Duration)乘以整数?
大家好!我刚开始学习Go,在使用time包时遇到了一个问题。我需要创建一个每隔N秒触发一次的定时器,其中N由用户以整数形式指定。
package main
import (
"fmt"
"time"
)
func main() {
var n int
fmt.Print("请输入间隔秒数:")
fmt.Scan(&n)
// 尝试乘以持续时间
interval := time.Second * n // 错误!
fmt.Println(interval)
}
编译器报错:invalid operation: time.Second * n (mismatched types time.Duration and int)。我明白time.Second是time.Duration类型,而n是int类型,它们不能直接相乘。但如何正确创建一个以秒为倍数的间隔呢?在其他语言中,比如Python,我只需写datetime.timedelta(seconds=n)就能正常工作。在Go中,我遗漏了什么?
我