美文网首页
spf13 viper代码示例

spf13 viper代码示例

作者: 莫名FCJ | 来源:发表于2017-11-03 11:01 被阅读1927次

    代码

    https://github.com/fengchunjian/goexamples/viper

    //main.go
    package main
    
    import (
        "fmt"
        "github.com/spf13/viper"
        "os"
        "strings"
    )
    
    const cmdRoot = "core"
    
    func main() {
        viper.SetEnvPrefix(cmdRoot)
        viper.AutomaticEnv()
        replacer := strings.NewReplacer(".", "_")
        viper.SetEnvKeyReplacer(replacer)
        viper.SetConfigName(cmdRoot)
        viper.AddConfigPath("./")
    
        err := viper.ReadInConfig()
        if err != nil {
            fmt.Println(fmt.Errorf("Fatal error when reading %s config file:%s", cmdRoot, err))
            os.Exit(1)
        }
    
        environment := viper.GetBool("security.enabled")
        fmt.Println("security.enabled:", environment)
    
        fullstate := viper.GetString("statetransfer.timeout.fullstate")
        fmt.Println("statetransfer.timeout.fullstate:", fullstate)
    
        abcdValue := viper.GetString("peer.abcd")
        fmt.Println("peer.abcd:", abcdValue)
    }
    
    
    //core.yaml
    statetransfer:
        recoverdamage: true
        blocksperrequest: 20
        maxdeltas: 200
        timeout:
            singleblock: 2s
            singlestatedelta: 2s
            fullstate: 60s
    peer:
        abcd:   3322d
    

    编译

    go get github.com/spf13/viper
    go build -o vip

    处理go get github.com/spf13/viper过程中问题

    unrecognized import path "golang.org/x/sys/unix"
    unrecognized import path "golang.org/x/text/transform"
    unrecognized import path "golang.org/x/text/unicode/norm"
    解决办法:
    git clone https://github.com/golang/sys.git $GOPATH/src/golang.org/x/sys
    git clone https://github.com/golang/text.git $GOPATH/src/golang.org/x/text

    运行

    CORE_SECURITY_ENABLED=true ./vip
    security.enabled: true
    statetransfer.timeout.fullstate: 60s
    peer.abcd: 3322d
    

    参考文档

    golang插件viper
    http://blog.csdn.net/qq_27809391/article/details/54091977

    相关文章

      网友评论

          本文标题:spf13 viper代码示例

          本文链接:https://www.haomeiwen.com/subject/tattmxtx.html