Go-kielellä aika paketit tarjoaa toimintoja sekä katseluajan määrittämiseen että katseluaikaan.
The Nukkua() Go-kielen toimintoa käytetään pysäyttämään viimeisin go-rutiini vähintään ilmoitetuksi ajaksi d . Ja negatiivinen tai nolla unen kesto saa tämän menetelmän palaamaan välittömästi. Lisäksi tämä toiminto on määritelty aikapaketissa. Täällä sinun on tuotava aikapaketti käyttääksesi näitä toimintoja.
Syntaksi:
func Sleep(d Duration)>
Tässä, d on unen kesto.
Palautusarvo: Se keskeyttää viimeisimmän käynnistysrutiinin ilmoitetuksi ajaksi ja palauttaa minkä tahansa toiminnon tulosteen lepotilan päätyttyä.
Esimerkki 1:
java lisätä taulukkoon
// Golang program to illustrate the usage of> // Sleep() function> > // Including main package> package main> > // Importing fmt and time> import (> >'fmt'> >'time'> )> > // Main function> func main() {> > >// Calling Sleep method> >time>.Sleep(8 *>time>.Second)> > >// Printed after sleep is over> >fmt.Println(>'Sleep Over.....'>)> }> |
määrittelemätön kaltevuus
>
>
Lähtö:
mikä on 25/100
Sleep Over.....>
Tässä yllä olevan koodin suorittamisen jälkeen, kun päätoimintoa kutsutaan silloin johtuen Nukkua menetelmällä ilmoitettu toiminto pysäytetään tietyksi ajaksi ja tulos tulostetaan.
Esimerkki 2:
// Golang program to illustrate the usage of> // Sleep() function> > // Including main package> package main> > // Importing time and fmt> import (> >'fmt'> >'time'> )> > // Main function> func main() {> > >// Creating channel using> >// make keyword> >mychan1 := make(chan string, 2)> > >// Calling Sleep function of go> >go func() {> >time>.Sleep(2 *>time>.Second)> > >// Displayed after sleep overs> >mychan1 <->'output1'> >}()> > >// Select statement> >select {> > >// Case statement> >case> out := <-mychan1:> >fmt.Println(out)> > >// Calling After method> >case> <->time>.After(3 *>time>.Second):> >fmt.Println(>'timeout....1'>)> >}> > >// Again Creating channel using> >// make keyword> >mychan2 := make(chan string, 2)> > >// Calling Sleep method of go> >go func() {> >time>.Sleep(6 *>time>.Second)> > >// Printed after sleep overs> >mychan2 <->'output2'> >}()> > >// Select statement> >select {> > >// Case statement> >case> out := <-mychan2:> >fmt.Println(out)> > >// Calling After method> >case> <->time>.After(3 *>time>.Second):> >fmt.Println(>'timeout....2'>)> >}> }> |
>
>
hiba bukhari
Lähtö:
output1 timeout....2>
Tässä yllä olevassa koodissa tulos1 tulostetaan, koska aikakatkaisun kesto (After()-menetelmässä) on suurempi kuin lepotila (Sleep()-menetelmässä), joten tulos tulostetaan ennen aikakatkaisun näyttämistä, mutta sen jälkeen alla olevassa tapauksessa aikakatkaisun kesto on lyhyempi kuin lepotilan aika, joten ennen tulosteen tulostamista aikakatkaisu näytetään, joten aikakatkaisu….2 tulostetaan.