Time.Time からの予期しない出力: 謎の " m" 文字列を理解する
Go では、time.Now() 関数を使用して次のことができます。現在時刻を取得します。ただし、開発者は結果を印刷するときに予期しない出力に遭遇することがあります。具体的には、「m」フィールドを含む長い文字列を観察するユーザーもいれば、タイムゾーン オフセットのみを含むより簡潔なバージョンを取得するユーザーもいます。
この差異は、Go 1.9 で導入された変更により発生します。このリリースより前は、time.Time は単調クロックをサポートしていませんでした。その結果、time.Now() からの出力は、より単純な文字列を返しました。
ただし、Go 1.9 での単調クロックのサポートの追加により、time.Time 構造体には、前述の " m" 文字列を含む追加のフィールドが追加されました。 。この文字列は、エポックの開始からの単調クロック オフセットを表します。
この問題を軽減し、必要な標準化された形式を取得するには、生データを直接出力する代わりに Format 関数を使用することをお勧めします。 Format 関数を使用すると、出力のカスタム形式を指定できるため、異なる Go バージョン間で一貫性が確保され、コード内で予期せぬ事態が発生するのを防ぐことができます。
以上がGo の `time.Time` が時々 ' m' 文字列を出力するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。