gookit/properties - GO 实现的 Java Properties 格式内容解析、编码和解码库
properties
格式内容解析器json
包一样的 Marshal
和 Unmarshal
!
, #
开头的行注释//
, /* multi line comments */
\\
结尾进行换行'''multi line string''''
, """multi line string"""
${some.other.key}
${APP_ENV}
, ${APP_ENV | default}
解析并绑定到结构体
package main
import (
"fmt"
"github.com/gookit/properties"
)
func Example() {
text := `
# properties string
name = inhere
age = 200
`
p, err := properties.Parse(text)
if err != nil {
panic(err)
}
type MyConf struct {
Name string `properties:"name"`
Age int `properties:"age"`
}
cfg := &MyConf{}
err = p.MapStruct("", cfg)
if err != nil {
panic(err)
}
fmt.Println(*cfg)
// Output:
// {inhere 200}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.