golang 使用 viper 读取自定义配置文件
viper 支持 Yaml、Json、 TOML、HCL 等格式,读取非常的方便。
viper 官网有案例:https://github.com/spf13/viper
go get github.com/spf13/viper
创建 config.yaml 文件
database: driver: mysql host: 127.0.0.1 port: 3306 username: blog dbname: blog password: 123456
建一个 config.go 用于初始化配置文件
func InitConfig() { path, err := os.Getwd() if err != nil { panic(err) } viper.AddConfigPath(path + "/config/dev") viper.SetConfigName("config") viper.SetConfigType("yaml") if err := viper.ReadInConfig(); err != nil { panic(err) } }
简单使用:
username := viper.GetString("database.username") password := viper.GetString("database.password") host := viper.GetString("database.host") port := viper.GetInt("database.port") dbname := viper.GetString("database.dbname") dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8&parseTime=True&loc=Local",username,password,host, port, dbname) GormPool, err = gorm.Open("mysql", dsn)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
golang中sync.Map并发创建、读取问题实战记录
背景: 我们有一个用go做的项目,其中用到了zmq4进行通信,一个简单的rpc过程,早期远端是使用一个map去做ip和具体socket的映射. 问题 大概是这样 struct SocketMap { sync.Mutex sockets map[string]*zmq4.Socket } 然后调用的时候的代码大概就是这样的: func (pushList *SocketMap) push(ip string, data []byte) { pushList.Lock() defer pushLi
-
如何利用Golang解析读取Mysql备份文件
前言 前期误操作,导致数据库表删除,虽然数据量不多,但是通过binlog恢复比较麻烦,通过备份文件来恢复,备份文件达36个G打开都是问题: 使用备份文件恢复 大文件编辑器,glogg-latest-x86_64-setup通过该文件打开备份文件,虽然过程稍慢,但是能够打开,且正常读取编辑信息,要恢复的数据量不大时采取是没问题的,但是如果表几十万行,操作起来就比较麻烦了: Golang读取备份文件 采用Golang读取,借助编程语言的优势来读取备份,经过测试读取指定备份文件(约36GB)表,大约需
-
golang读取文件的常用方法总结
使用go语言读取文件的各种方式整理. 一次性加载到内存中 // * 整个文件读到内存,适用于文件较小的情况 //每次读取固定字节 //问题容易出现乱码,因为中文和中文符号不占一个字符 func readAllIntoMemory(filename string) (content []byte, err error) { fp, err := os.Open(filename) // 获取文件指针 if err != nil { return nil, err } defer fp.Close(
-
golang 使用 viper 读取自定义配置文件
viper 支持 Yaml.Json. TOML.HCL 等格式,读取非常的方便. viper 官网有案例:https://github.com/spf13/viper go get github.com/spf13/viper 创建 config.yaml 文件 database: driver: mysql host: 127.0.0.1 port: 3306 username: blog dbname: blog password: 123456 建一个 config.go 用于初始化配置
-
springboot读取自定义配置文件节点的方法
今天和大家分享的是自定义配置信息的读取:近期有写博客这样的计划,分别交叉来写springboot方面和springcloud方面的文章,因为springboot预计的篇章很多,这样cloud的文章就需要等到很后面才能写了:分享这两种文章的原因主要是为了方便自己查找资料使用和对将要使用的朋友起到便捷作用: •@Value标记读取(默认可直接读取application.yml的节点) •实体映射application.yml的节点 •实体映射自定义配置文件的节点 •实体映射多层级节点的值 @Valu
-
Spring Boot读取自定义配置文件
@Value 首先,会想到使用@Value注解,该注解只能去解析yaml文件中的简单类型,并绑定到对象属性中去. felord: phone: 182******32 def: name: 码农小胖哥 blog: felord.cn we-chat: MSW_623 dev: name: 码农小胖哥 blog: felord.cn we-chat: MSW_623 type: JUEJIN 对于上面的yaml配置,如果我们使用@Va
-
SpringBoot读取自定义配置文件方式(properties,yaml)
目录 一.读取系统配置文件application.yaml 二.读取自定义配置文件properties格式内容 三.读取自定义配置文件yaml格式内容 四.其他扩展内容 一.读取系统配置文件application.yaml 1.application.yaml配置文件中增加一下测试配置 testdata: animal: lastName: 动物 age: 18 boss: true birth: 2022/02/22 maps: {key1:value1,key2:value2} list:
-
springboot读取自定义配置文件时出现乱码解决方案
目录 网上提供的解决方案也不外乎这几种 方案一 方案二 方案三 方案四 方案五 方案六 这是入门的第三天了,从简单的hello spring开始,已经慢慢接近web的样子.接下来当然是读取简单的对象属性了. 于是按照网上各位大神教的,简单写了个对象book,其他配置不需要做任何改动. package com.example.bean; import org.springframework.beans.factory.annotation.Value; import org.springframe
-
Springboot读取配置文件及自定义配置文件的方法
1.创建maven工程,在pom文件中添加依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> <dependencies> <dependency
-
在SpringBoot下读取自定义properties配置文件的方法
SpringBoot工程默认读取application.properties配置文件.如果需要自定义properties文件,如何读取呢? 一.在resource中新建.properties文件 在resource目录下新建一个config文件夹,然后新建一个.properties文件放在该文件夹下.如图remote.properties所示 二.编写配置文件 remote.uploadFilesUrl=/resource/files/ remote.uploadPicUrl=/resource
-
详解Spring-boot中读取config配置文件的两种方式
了解过spring-Boot这个技术的,应该知道Spring-Boot的核心配置文件application.properties,当然也可以通过注解自定义配置文件的信息. Spring-Boot读取配置文件的方式: 一.读取核心配置文件信息application.properties的内容 核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单. 核心配置文件applicati
-
Golang使用第三方包viper读取yaml配置信息操作
Golang有很多第三方包,其中的 viper 支持读取多种配置文件信息.本文只是做一个小小demo,用来学习入门用的. 1.安装 go get github.com/spf13/viper 2.编写一个yaml的配置文件,config.yaml database: host: 127.0.0.1 user: root dbname: test pwd: 123456 3.编写学习脚本main.go,读取config.yaml配置信息 package main import ( "fmt&quo
-
golang读取各种配置文件(ini、json、yaml)
目录 viper读取ini文件 viper读取json文件 viper读取yaml文件 日常项目中,读取各种配置文件是避免不了的,这里介绍一个能读取多种配置文件的库,viper viper读取ini文件 config := viper.New() config.AddConfigPath("./conf/") // 文件所在目录 config.SetConfigName("b") // 文件名 config.SetConfigType("ini"
随机推荐
- PHP中file_put_contents追加和换行的实现方法
- js apply/call/caller/callee/bind使用方法与区别分析
- SixSix翻译的XAML教程 语法简介
- du meter注册码包括3.5与4.0(所有版本通用)
- VBS教程:正则表达式简介 -字符匹配
- cmd ren命令 重命名文件(夹)
- java 中单例模式饿汉式与懒汉式的对比
- 深入解析Python中的list列表及其切片和迭代操作
- 简单易懂的天气插件(代码分享)
- nginx下的代理服务器80端口被封的解决方案
- Python读写配置文件的方法
- Bootstrap如何创建表单
- 10个JavaScript中易犯小错误
- java 实现双向链表实例详解
- jQuery 下拉列表 二级联动插件分享
- jQuery实现导航高亮的方法【附demo源码下载】
- JS类库Bindows1.3中的内存释放方式分析
- JavaScript中string转换成number介绍
- 本地计算机无法启动Apache故障处理
- Java编程常见内存溢出异常与代码示例