J'ai du code écrit dans Go que j'essaye de mettre à jour pour fonctionner avec les dernières versions hebdomadaires. (Il a été construit pour la dernière fois sous R60). Tout fonctionne maintenant sauf le bit suivant:
if t, _, err := os.Time(); err == nil {
port[5] = int32(t)
}
Des conseils sur la façon de mettre à jour cela pour fonctionner avec l'implémentation actuelle de Go?
import "time"
...
port[5] = int32(time.Now().Unix())
Si vous le voulez comme string
, convertissez-le simplement via strconv
:
package main
import (
"fmt"
"strconv"
"time"
)
func main() {
timestamp := strconv.FormatInt(time.Now().UTC().UnixNano(), 10)
fmt.Println(timestamp) // prints: 1436773875771421417
}
Un autre conseil. time.Now().UnixNano()
(godoc) vous donnera des nanosecondes depuis l'époque. Ce n'est pas strictement un temps Unix, mais cela vous donne une précision inférieure à la seconde en utilisant la même époque, ce qui peut être pratique.
Edit: modifié pour correspondre à l'actuel golang api