.env
ファイルには次の 2 つの設定があります
golang で設定を読み込むために使用される構造は次のとおりです
リーリー設定をロードしようとすると、次のエラーが表示されます
リーリーこれはおそらく、max_token_expiry_days=30d
行で d
タグが認識されないため、問題が発生していることを意味します。ただし、access_token_duration=30m
の m
タグは、time では正常に機能します。 golang のduration
はうまく解析できます。
時間パッケージのソース コードには、次の構造があります
リーリー構成内で日数を表現する方法はありますか?
これは、時間文字列で呼び出された ParseDuration が単位サフィックスとして d
をサポートしていないためです
有効な時間単位は、「ns」、「us」 (または「μs」)、「ms」、「s」、「m」、および「h」です。
曖昧さを解決するには、時間数 30d
(つまり 720h
) を使用することをお勧めします。
言語設計者が select を使用することにした理由を理解するには、golang/go の質問/説明も参照してください。 time.ParseDuration() が日数をサポートしないのはなぜですか? #17767
以上がgolang viper設定をエラーなしでロードできるように期間を日数で指定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。