• [^] # Re: Perf

    Posté par . En réponse au journal la rouille et la comtesse. Évalué à 4. Dernière modification le 19 novembre 2021 à 15:03.

    Avoir des types numériques incompatibles ne signifie pas qu'il n'est pas possible de définir certaines opérations comme la multiplication, afin de permettre de faire des choses qui ont du sens.

    En Go par exemple c’est pas possible, alors même que les développeurs aiment redéfinir tout un tas de types :

    // Valide
    d1 := 10 * time.Second
    // Invalide
    // invalid operation: t * time.Second (mismatched types int and time.Duration):
    t := 10
    d := t * time.Second

    Il faut « caster » t en time.Duration :

    t := 10
    d := time.Duration(t) * time.Second

    Pourtant, time.Duration est juste un « alias » du type int64.