私はGoでコードを作成し、簡単なリマインダー機能を作成する方法を学んでいます。Go:なぜtime.Now()は時間/分/秒で6桁の数字を返しますか?
現在の時刻を通常の24時間表示のXX.XX(時、分)として表示したいとします。
私は現在の時刻を変数tに保存しました。印刷すると、2009年11月初めの23時です。罰金ですが、t.Hourとt.Minuteを印刷すると結果は132288.132480
になります。
t.Seconds
を印刷すると似たようなものです。私はなぜこれが起こるか把握できませんでした。
私の結果の時間と分のわずかな違いは、問題が他のものであることを示唆しているので、およそ2000時間が経過してから48時間と2880分です。
私はgo playgroundでコードを実行しています。
マイコード:
package main
import (
"fmt"
"time"
)
func main() {
Remind("It's time to eat")
}
func Remind(text string) {
t := time.Now()
fmt.Println(t)
fmt.Printf("The time is %d.%d: ", t.Hour, t.Minute)
fmt.Printf(text)
fmt.Println()
}
'Hour'と' Minute'は関数です。 'fmt.Printf("時間は%d。%d: "、t.Hour()、t.Minute())'です。 –
ああ私のことわざ、それはシンプルで明白だった。ありがとう! あなたは実際に何を返しますか?それはなぜt.Minuteとtにとても似ているのですか? – Victoria
t.Hourとt.Minutesは関数の参照ではなく、関数の結果ではありません。これらの機能が格納されているメモリ内のアドレスと考えることができます。 – EricSchaefer