On olemas funktsioon `unpredictableFunc()`, mida tuleb ümber pakkida nii, et see töötaks ajapiiranguga (näiteks 1 sekund) ja logiks selle täitmise aja.
// On olemas funktsioon, mis töötab lõpmatult ja tagastab numbri.
// Selle keha ei tohi muuta (kaalume, et sees on võrgupäring).
func unpredictableFunc() int64 {
rnd := rand.Int63n(5000)
time.Sleep(time.Duration(rnd) * time.Millisecond)
return rnd
}
// Tuleb muuta ümbrise funktsioon, mis töötab määratud ajapiiranguga (näiteks 1 sekund).
// Kui "pikk" funktsioon lõpeb selle aja jooksul, on see suurepärane, tagastame tulemuse.
// Kui mitte, tagastame vea. Selle töö tulemus meid sel juhul ei huvita.
//
// Lisaks tuleb mõõta, kui kaua see funktsioon töötas (lihtsalt logi välja).
// Ümbrise funktsiooni signatuur võib olla muudetud.
func predictableFunc() int64 {
return unpredictableFunc()
}