Sobes.tech
Senior

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() }