首页 > 其他分享 >golang使用yaml文件做配置文件

golang使用yaml文件做配置文件

时间:2024-07-16 16:19:07浏览次数:14  
标签:return err nil golang yaml string 配置文件

  • yaml配置文件

    host:
    localhost:3306
    user:
    root
    pwd:
    112233
    dbname:
    1
  • 安装yaml读取工具

    go get gopkg.in/yaml.v2 
  • 从yaml文件读取配置

    package main

    import (
    "fmt"
    "gopkg.in/yaml.v2"
    "os"
    )

    type Conf struct {
    Host   string `yaml:"host"`
    User   string `yaml:"user"`
    Pwd    string `yaml:"pwd"`
    Dbname string `yaml:"dbname"`
    }

    func (c *Conf) getConf() (*Conf, error) {
    yamlFile, err := os.ReadFile("yaml配置文件路径")
    if err != nil {
    return nil, err
    }
    err = yaml.Unmarshal(yamlFile, c)
    if err != nil {
    return nil, err
    }
    return c, nil
    }

    func main() {
    var c Conf
    cfg, err := c.getConf()
    if err != nil {
    fmt.Println("配置读取失败,err:", err.Error())
    return
    }
    fmt.Println(cfg.Pwd)
    }

标签:return,err,nil,golang,yaml,string,配置文件
From: https://www.cnblogs.com/CJTARRR/p/18305508

相关文章

  • golang IO流
    golangIO流file一些操作os包下FileInfo:获取文件信息Reader:读Write:写文件复制mkdircreateremoveSeeker接口设置光标的位置,读写文件typeSeekerinterface{//1、offset偏移量3//2、whence如何设置,当前光标的位置。Seek(offsetint64,whence......
  • 微服务项目配置文件参数安全方案
    项目环境springboot系列项目maven依赖管理任意配置中心(apollo/配置文件/k8sConfigMapSecrets)项目代码添加依赖<dependency>    <groupId>com.github.ulisesbocchio</groupId>    <artifactId>jasypt-spring-boot-starter</artifactId>    <version>${ver......
  • golang的一些体会
     1.接口变量肯定对应一种具体类型,参考java的接口与实现。2.如果使用接口类型变量存储对象,那内存里会存两份内容:实际类型、接口类型(含接口中的函数指针列表)。   -其实这里的函数指针列表类似于C++的虚函数表。   -因为go的鸭子类型,所以接口变量必须记录接口中函数......
  • Golang - 使用责任链模式代替IF ELSE
    一、传统IF判断1、在业务中使用大量的if判断代码如下:packagemaintypeSellInfostruct{Pricefloat64OrderCountintTotalCountintMemberShipint}funcmain2(){vara=SellInfo{Price:1.0,OrderCount:......
  • 配置文件的编写
    1.在application.yml里面配置需要的参数2.pom.xml文件引入配置文件依赖<!--配置生成配置文件处理器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifa......
  • golang channel 的众多应用场景123
    目录1.应用场景2.应用场景示例2.1并发控制2.2管道|范围迭代|数据传输2.3数据传递->生产者-消费者模型2.4互斥同步2.5信号通知2.6定时器我们知道go中有个很重要的数据结构叫做channel-通道,通过其特性,我们可以完成很多功能,自然就对应到很多应用场景了。1.应用场景......
  • 自用VsCode配置文件
    {"name":"karle","settings":"{\"settings\":\"{\\r\\n\\t\\\"liveServer.settings.CustomBrowser\\\":\\\"chrome\\\",\\r\\n\\t\\\"liveServer.settings.donot......
  • Nginx的全局配置文件说明
    Nginx的全局配置文件说明Nginx配置文件的主要配置块可以分为三个部分:全局配置块(events和http块),events块和http块。这三个部分共同定义了Nginx服务器的整体行为和处理HTTP请求的方式。全局配置块:包含了影响Nginx服务器整体行为的指令,如进程数、工作目录、错误日志级别、进......
  • Django静态文件系统之meida文件,Django配置文件介绍,RBAC权限系统
    ⅠDjango静态文件系统之meida文件【一】问题引入一般常用的静态文件:static但是,媒体文件:图片,视频,音频……会随着用户改变而改变,不应该作为静态文件来使用应该是媒体资源于是Django提供了另一种静态文件语法meida文件【二】配置使用在Django的settings里面DEBUG—>开......
  • 【VMware ESXi】使用PowerCLI脚本批量备份ESXi主机的配置文件。
    根据VMwareKB2042141知识库文章,SSH登录到ESXi主机,可以使用下面的命令用于备份和还原ESXi主机的配置文件。但是,这个方法需要手动登录到每个ESXi主机,并通过浏览器链接下载配置文件,显然不是很方便。备份vim-cmdhostsvc/firmware/sync_configvim-cmdhostsvc/firmwar......