hocon配置文件_HOCON 配置文件读取工具 https://github.com/go-akka/configuration

HOCON (Human-Optimized Config Object Notation)Currently, some features are not implemented, the API might be a little changed in the future.

example.go

package main

import (

"fmt"

"github.com/go-akka/configuration"

)

var configText = `

####################################

# Typesafe HOCON #

####################################

config {

# Comment

version = "0.0.1"

one-second = 1s

one-day = 1day

array = ["one", "two", "three"] #comment

bar = "bar"

foo = foo.${config.bar}

number = 1

object {

a = "a"

b = "b"

c = {

d = ${config.object.a} //comment

}

}

}

// fallback

config.object.a="newA"

config.object.c.f="valueF"

// self reference

self-ref=1

self-ref=[${self-ref}][2]

// byte size

byte-size=10MiB

// system envs

home:${HOME}

`

func main() {

conf := configuration.ParseString(configText)

fmt.Println("config.one-second:", conf.GetTimeDuration("config.one-second"))

fmt.Println("config.one-day:", conf.GetTimeDuration("config.one-day"))

fmt.Println("config.array:", conf.GetStringList("config.array"))

fmt.Println("config.bar:", conf.GetString("config.bar"))

fmt.Println("config.foo:", conf.GetString("config.foo"))

fmt.Println("config.number:", conf.GetInt64("config.number"))

fmt.Println("config.object.a:", conf.GetString("config.object.a"))

fmt.Println("config.object.c.d:", conf.GetString("config.object.c.d"))

fmt.Println("config.object.c.f:", conf.GetString("config.object.c.f"))

fmt.Println("self-ref:", conf.GetInt64List("self-ref"))

fmt.Println("byte-size:", conf.GetByteSize("byte-size"))

fmt.Println("home:", conf.GetString("home"))

fmt.Println("default:", conf.GetString("none", "default-value"))

}

> go run example.go

config.one-second: 1s

config.one-day: 24h0m0s

config.array: [one two three]

config.bar: bar

config.foo: foo.bar

config.number: 1

config.object.a: newA

config.object.c.d: a

config.object.c.f: valueF

self-ref: [1 2]

byte-size: 10485760

home: /Users/zeal

default: default-value

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值