logo

Funzione time.Sleep() in Golang con esempi

Nella lingua Go, tempo i pacchetti forniscono funzionalità per determinare e visualizzare il tempo.
IL Sonno() La funzione nella lingua Go viene utilizzata per interrompere l'ultima routine di go almeno per la durata indicata D . E una durata del sonno negativa o pari a zero farà sì che questo metodo ritorni immediatamente. Inoltre questa funzione è definita nel pacchetto orario. Qui è necessario importare il pacchetto orario per utilizzare queste funzioni.

Sintassi:



 func Sleep(d Duration)>

Qui, D è la durata del tempo trascorso per dormire.

Valore di ritorno: Mette in pausa l'ultima routine per la durata indicata, quindi restituisce l'output di qualsiasi operazione al termine della sospensione.

Esempio 1:



topologia di rete






// 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.....'>)> }>

>

>

domande per l'intervista in lingua Java

Produzione:

 Sleep Over.....>

Qui, dopo aver eseguito il codice precedente quando viene chiamata la funzione principale, allora due to Sonno metodo l'operazione indicata viene interrotta per la durata specificata, quindi il risultato viene stampato.

Esempio 2:


pitone __nome__



// 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'>)> >}> }>

>

>

system.out.println

Produzione:

 output1 timeout....2>

Qui, nel codice precedente, l'output1 viene stampato poiché la durata del timeout (nel metodo After()) è maggiore del tempo di sospensione (nel metodo Sleep()), quindi l'output viene stampato prima che venga visualizzato il timeout, ma successivamente il il caso seguente ha una durata di timeout inferiore al tempo di sospensione quindi, prima di stampare l'output viene visualizzato il timeout, quindi viene stampato timeout….2.