time.Sleep()-funksjon i Golang med eksempler
På Go-språket, tid pakker leverer funksjonalitet for å bestemme samt visningstid.
De Sove() funksjon i Go-språket brukes til å stoppe den siste go-rutinen i minst den angitte varigheten d . Og en negativ eller null varighet av søvn vil føre til at denne metoden kommer tilbake umiddelbart. Dessuten er denne funksjonen definert under tidspakken. Her må du importere tidspakken for å bruke disse funksjonene.
Syntaks:
func Sleep(d Duration)
Her, d er varigheten av søvntiden.
Returverdi: Den setter den siste rutinen på pause i den angitte varigheten, og returnerer deretter utdata fra enhver operasjon etter at dvalemodusen er over.
Eksempel 1:
// 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.....'> )> }> |
Produksjon:
Sleep Over.....
Her, etter å ha kjørt ovenstående kode når hovedfunksjonen kalles da pga Sove metoden den angitte operasjonen stoppes for den gitte varigheten, deretter skrives resultatet ut.
Eksempel 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'> )> > }> }> |
Produksjon:
output1 timeout....2
Her, i koden ovenfor, skrives utgang1 ut ettersom varigheten av timeout(i After()-metoden) er større enn sleep-tiden(in Sleep()-metoden), så utdataene skrives ut før tidsavbruddet vises, men etter det, under tilfellet har timeout-varighet mindre enn dvaletiden, så før utskrift av utskriften vises timeout, og timeout….2 skrives ut.