多年来,我们一直投入大量的个人时间和精力,与大家分享我们的知识。然而,我们现在需要你的帮助来维持这个博客的运行。你所要做的只是点击网站上的一个广告,否则它将由于托管等费用而不幸被关闭。谢谢你。
在这里,我们将创建一个名为config 的自定义结构标签,它将有两个字段,即kind|path ,只是为了玩玩。
我们的示例方案是关于处理应用程序的秘密和普通配置值。我们将覆盖 "秘密 "字段的值,并保留 "普通 "字段。这只是为了演示的目的。在现实生活中,你通常会使用 "路径 "值来定位内部/外部配置/秘密存储服务中的实际值,如AWS Secrets Manager/Parameter Store、HashiCorp Vault等的每个字段。这完全取决于你如何设计这个系统。这只是一个想法,所以请随意重构或采用它。虽然这是一个不同的主题,但你可以按照environment.service.***,environment/service/***,service/environment/*** 语法来表示 "路径 "或其他东西。语法也可以由你将使用的服务来强制执行。
config.go
package config
tag.go
package config
main.go
package main
测试
$ go run main.go