问题内容 我在 .env 文件中有两个配置,如下 max_token_expiry_days=30d access_token_duration=30m golang 中用于加载配置的
我在 .env
文件中有两个配置,如下
max_token_expiry_days=30d
access_token_duration=30m
golang 中用于加载配置的结构如下所示
type appconfig struct {
maxtokenexpiry time.duration `mapstructure:"max_token_expiry_days"`
accesstokenduration time.duration `mapstructure:"access_token_duration"`
}
现在,当我尝试加载配置时,出现以下错误
* error decoding 'max_token_expiry_days': time: unknown unit "d" in duration "30d"
这可能意味着问题出在 max_token_expiry_days=30d
行,因为它无法识别 d
标签。但是 access_token_duration=30m
中的 m
标签与 time 运行良好。Golang 中的 duration
能够很好地解析它。
在时间包源代码中,我看到以下结构
Nanosecond Duration = 1
Microsecond = 1000 * Nanosecond
Millisecond = 1000 * Microsecond
Second = 1000 * Millisecond
Minute = 60 * Second
Hour = 60 * Minute
有什么方法可以在配置中表示天数吗?
这是因为在你的时间字符串上调用的ParseDuration不支持d
作为一个单位后缀
有效的时间单位为“ns”、“us”(或“μs”)、“ms”、“s”、“m”、“h”。
您最好使用 30d
的小时数,即 720h
来解决歧义。
另请参阅 golang/go 中的问题/解释,了解为什么语言设计者决定使用选择。 为什么 time.ParseDuration() 不支持天数? #17767
以上就是如何提及以天为单位的持续时间,以便可以毫无错误地加载 golang viper 配置?的详细内容,更多请关注编程网其它相关文章!
--结束END--
本文标题: 如何提及以天为单位的持续时间,以便可以毫无错误地加载 golang viper 配置?
本文链接: https://www.lsjlt.com/news/563847.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
一口价域名售卖能注册吗?域名是网站的标识,简短且易于记忆,为在线用户提供了访问我们网站的简单路径。一口价是在域名交易中一种常见的模式,而这种通常是针对已经被注册的域名转售给其他人的一种方式。
一口价域名买卖的过程通常包括以下几个步骤:
1.寻找:买家需要在域名售卖平台上找到心仪的一口价域名。平台通常会为每个可售的域名提供详细的描述,包括价格、年龄、流
443px" 443px) https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294.jpg https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294-768x413.jpg 域名售卖 域名一口价售卖 游戏音频 赋值/切片 框架优势 评估指南 项目规模
0