Avatar ·

Subtraindo time.Duration de time.Time em Go: como fazer corretamente?

Olá, colegas! Comecei a estudar Go recentemente e me deparei com um problema ao trabalhar com datas e horas. Preciso subtrair do momento atual, por exemplo, 24 horas, para obter o horário de "ontem no mesmo horário". Estou escrevendo algo como: ```go package main import ( "fmt" "time" ) func main() { now := time.Now() yesterday := now - 24 * time.Hour // Erro! fmt.Println(yesterday) } ``` Mas o compilador retorna um erro: `invalid operation: operator - not defined on time.Time`. Entendo que `time.Time` é uma struct, não um número, e não é possível subtrair diretamente dela. Tentei usar `time.Duration`, mas me confundi. Na documentação diz que `time.Time` pode ser somado com `time.Duration`, mas como subtrair corretamente? Preciso obter o valor exato para depois comparar com outras datas. Alguém pode me explicar como subtrair um intervalo de tempo em Go? Desde já, obrigado! <<>>

Use o método Add() com um valor negativo

Em Go, para subtrair