Avatar ·

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 में कुछ भूल रहा हूँ?

मैं