ホームページ > バックエンド開発 > Golang > golang viper設定をエラーなしでロードできるように期間を日数で指定するにはどうすればよいですか?

golang viper設定をエラーなしでロードできるように期間を日数で指定するにはどうすればよいですか?

PHPz
リリース: 2024-02-12 16:30:07
転載
850 人が閲覧しました

如何提及以天为单位的持续时间,以便可以毫无错误地加载 golang viper 配置?

質問の内容

.env ファイルには次の 2 つの設定があります

リーリー

golang で設定を読み込むために使用される構造は次のとおりです

リーリー

設定をロードしようとすると、次のエラーが表示されます

リーリー

これはおそらく、max_token_expiry_days=30d 行で d タグが認識されないため、問題が発生していることを意味します。ただし、access_token_duration=30mm タグは、time では正常に機能します。 golang のduration はうまく解析できます。

時間パッケージのソース コードには、次の構造があります

リーリー

構成内で日数を表現する方法はありますか?

回避策

これは、時間文字列で呼び出された ParseDuration が単位サフィックスとして d をサポートしていないためです

有効な時間単位は、「ns」、「us」 (または「μs」)、「ms」、「s」、「m」、および「h」です。

曖昧さを解決するには、時間数 30d (つまり 720h) を使用することをお勧めします。

言語設計者が select を使用することにした理由を理解するには、golang/go の質問/説明も参照してください。 time.ParseDuration() が日数をサポートしないのはなぜですか? #17767

以上がgolang viper設定をエラーなしでロードできるように期間を日数で指定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート