Sobes.tech
Senior

C'è qualche scadenza?

sobes.tech AI

Risposta dell'AI

In Go, la scadenza viene generalmente intesa come un limite di tempo per l'esecuzione di un'operazione o di un contesto.

Nella libreria standard, il pacchetto context viene utilizzato per gestire il tempo di esecuzione e annullare le operazioni. Il contesto può avere una scadenza: un momento dopo il quale l'operazione si considera scaduta e deve essere annullata.

Esempio di creazione di un contesto con scadenza:

ctx, cancel := context.WithDeadline(context.Background(), time.Now().Add(2*time.Second))
defer cancel()

select {
case <-time.After(3 * time.Second):
    fmt.Println("Operazione completata")
case <-ctx.Done():
    fmt.Println("La scadenza è trascorsa o il contesto è stato annullato")
}

In questo modo, la scadenza è un modo per impostare un limite di tempo per le operazioni, per evitare attese infinite.