知识小结-28获取配置文件

news/2024/6/18 23:26:22

1、直接获取配置文件

beego.AppConfig.String()

2、封装获取配置文件

// @Description 获取配置文件信息,用于启动时调试输出
func getConf(key string, keyType string) (value interface{}) {
   // beego 获取配置文件时 会自动根据 run mode 获取 所以在这里不用判断
 if keyType == "string" {
      value = beego.AppConfig.String(key)
      if len(strings.TrimSpace(value.(string))) == 0 {
         fmt.Printf(key + " is empty.")
         os.Exit(oerrno.OS_EXIT_FAIL)
      }
      olog.Debug(key, "=(%+v)", value.(string))
   }
   // todo 改为反射方式
 if keyType == "bool" {
      value, err := beego.AppConfig.Bool(key)
      if err != nil {
         fmt.Printf(key + "get error ")
         os.Exit(oerrno.OS_EXIT_FAIL)
      }
      olog.Info(key, "=(%+v)", value)
   }
   if keyType == "int" {
      value, err := beego.AppConfig.Int(key)
      if err != nil {
         fmt.Printf(key + "get error ")
         os.Exit(oerrno.OS_EXIT_FAIL)
      }
      olog.Info(key, "=(%+v)", value)
   }
   return value
}

3、封装获取Json配置文件

func GetJsonConf(fileName, key string) (r ocommon.ResultInfo) {
   assetConfig, err := config.NewConfig("json", fileName)
   if err == nil {
      ret, err1 := assetConfig.DIY(key)
      if err1 != nil {
         r.RawErr = err1
      } else {
         r.Data = ret
      }
   } else {
      r.RawErr = err
   }
   return
}

注释:go中conf文件相关的函数

1)func (c *JSONConfigContainer) Bool(key string) (bool, error)
根据key获取值,并将其转成bool值

2)func (c *JSONConfigContainer) DefaultBool(key string, defaultval bool) bool
根据key获取值,并将其转成bool值,如果不存在值,则返回传入的默认值

3)func (c *JSONConfigContainer) Int(key string) (int, error)
根据key获取值,并将其转成int值

4)func (c *JSONConfigContainer) DefaultInt(key string, defaultval int) int
根据key获取值,并将其转成int值,如果不存在值,则返回传入的默认值

5)func (c *JSONConfigContainer) Int64(key string) (int64, error)
根据key获取值,并将其转成int64值

6)func (c *JSONConfigContainer) DefaultInt64(key string, defaultval int64) int64
根据key获取值,并将其转成int64值,如果不存在值,则返回传入的默认值

7)func (c *JSONConfigContainer) Float(key string) (float64, error)
根据key获取值,并将其转成float值

8)func (c *JSONConfigContainer) DefaultFloat(key string, defaultval float64) float64
根据key获取值,并将其转成float64值,如果不存在值,则返回传入的默认值

9)func (c *JSONConfigContainer) String(key string) string
根据key获取值,并将其转成string值

10)func (c *JSONConfigContainer) DefaultString(key string, defaultval string) string
根据key获取值,并将其转成string值,如果不存在值,则返回传入的默认值

11)func (c *JSONConfigContainer) Strings(key string) []string
根据key获取值,并将其转成[]string值

12)func (c *JSONConfigContainer) DefaultStrings(key string, defaultval []string) []string
根据key获取值,并将其转成[]string值,如果不存在值,则返回传入的默认值

13)func (c *JSONConfigContainer) GetSection(section string) (map[string]string, error)
获取值

14)func (c *JSONConfigContainer) SaveConfigFile(filename string) (err error)
将解析后的内容进行存储

15)func (c *JSONConfigContainer) Set(key, val string) error
将键值进行存储

16)func (c *JSONConfigContainer) DIY(key string) (v interface{}, err error)
以interface{]方式返回值

17)func (c *JSONConfigContainer) getData(key string) interface{} {
获取值

https://www.jianshu.com/p/958b499caf12


http://www.niftyadmin.cn/n/1490580.html

相关文章

IDEA创建maven项目超详细步骤

一,maven配置 File > settings > Bulid…(快捷键 Ctrl Alt S) 显示maven默认的配置,可以修改,也可以用默认的 修改为自己的: 修改后点击ok就可以了 二,创建maven项目步骤 File > new > project 填写…

linux学习-01简介

一、计算机结构 • 输入单元:例如鼠标、键盘、卡片阅读机等等 • 中央处理器(CPU):含有算数逻辑、控制、记忆等单元 • 输出单元:例如屏幕、打印机等等 二、操作系统 操作系统(英语:operating system,缩…

Java中动态代理详细解析

大家好呀,最近开学,时隔大半年再次回到校园,着实有些怀念呀,又忙了几天,停更了几天, 今天,话不多说,来聊一聊Java中的动态代理,废话不多时,直接进入正题 目前…

linux学习-02du命令

Linux du命令用于显示目录或文件的大小。 du会显示指定的目录或文件所占用的磁盘空间。 参数说明: -a或-all 显示目录中个别文件的大小。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或–total 除了显示个别目录或文件的大小外,同…

ssm--springmvc3

第一步:保证业务层(Service)和持久层(Dao)在web项目下运行 配置applicationContext.xml <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/X…

linux学习-03gdb

补充&#xff1a; 显示数组元素&#xff1a;display *arraylen 参考链接&#xff1a;https://blog.csdn.net/zdy0_2004/article/details/80102076

快速排序算法的实现与解析

在学习算法过程中&#xff0c;排序算法是一道经典的面试、考试试题&#xff0c;其中快速排序算法是经典中的经典。 废话不多说&#xff1a; 一、排序思想 快速排序是由冒泡排序改进而得到的&#xff0c;是一种分区交换排序方法。思想如下&#xff1a; 一趟快速排序采用从两头…

linux学习-04ls命令

ls [参数] -a 列出隐藏文件&#xff0c;文件中以”.”开头的均为隐藏文件&#xff0c;如&#xff1a;~/.bashrc -l 列出文件的详细信息 -R 连同子目录中的内容一起列出 ll不是命令&#xff0c;是ls -l的别名 文件类型如下&#xff1a; 普通文件 d 目录 l 符号链接 b 块…