Sobes.tech
Senior

Ir ir funkcija `unpredictableFunc()`, kuru nepieciešams ietīt tā, lai tā darbotos ar laika ierobežojumu (piemēram, 1 sekundi) un reģistrētu tās izpildes laiku. // Ir funkcija, kas darbojas bezgalīgi ilgi un atgriež skaitli. // Tās ķermeni nevar mainīt (iedomājieties, ka iekšā ir tīkla pieprasījums). func unpredictableFunc() int64 { rnd := rand.Int63n(5000) time.Sleep(time.Duration(rnd) * time.Millisecond) return rnd } // Jāmaina ietverošā funkcija, kas darbosies ar noteiktu laika limitu (piemēram, 1 sekundi). // Ja "garā" funkcija pabeidzas šajā laikā, tas ir lieliski, atgriežam rezultātu. // Ja nē, atgriežam kļūdu. Rezultāts šajā gadījumā nav svarīgs. // // Turklāt, jāizmēra, cik ilgi šī funkcija darbojās (vienkārši izvadiet logā). // Ietverošās funkcijas paraksts var tikt mainīts. func predictableFunc() int64 { return unpredictableFunc() }