كيفية ضرب المدة (time.Duration) في عدد صحيح في Go؟
مرحباً بالجميع! لقد بدأت للتو في تعلم 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؟
أنا