OK, je viens d'aller lire la spec. Il y a comme un clash de deux concepts (ce qui montre au passage la difficulté de la chose et pourquoi c'est souvent une bibliothèque dans la plupart des langages) : time.Second * time.Second donne, pour faire simple, time.Duration et non time.Second (et donc un test rapide, que je n'avais pas fait, me donne pas 3 s2...) Faut pas perdre de vue la règle « duration ± duration = duration, duration * scalar = duration, timestamp ± duration = timestamp, timestamp - timestamp = duration » et il y a aussi d'autres problèmes https://pkg.go.dev/time#hdr-Monotonic_Clocks
[^] # Re: Fun fact: Golang c'est simple, simplement débile
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal [Letlang] Faire la différence entre un nombre et une quantité. Évalué à 3.
OK, je viens d'aller lire la spec. Il y a comme un clash de deux concepts (ce qui montre au passage la difficulté de la chose et pourquoi c'est souvent une bibliothèque dans la plupart des langages) :
time.Second * time.Seconddonne, pour faire simple,time.Durationet nontime.Second(et donc un test rapide, que je n'avais pas fait, me donne pas 3 s2...) Faut pas perdre de vue la règle « duration ± duration = duration, duration * scalar = duration, timestamp ± duration = timestamp, timestamp - timestamp = duration » et il y a aussi d'autres problèmes https://pkg.go.dev/time#hdr-Monotonic_ClocksPeut-être qu'il faudrait à ce genre de niveau faire appel à des choses comme https://github.com/charithe/durationcheck ?
En tout cas il manque quelque chose de plus haut niveau comme
Duration::from_milis()etDuration::from_secs()pour qu'on s'embrouille pas à manipuler durées et constantes https://doc.rust-lang.org/std/time/struct.Duration.htmlVais relire aussi https://en.cppreference.com/w/cpp/chrono/duration voir s'ils font bien.
"It is seldom that liberty of any kind is lost all at once." ― David Hume