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
Use o método Add() com um valor negativo
Em Go, para subtrair