当前位置: 首页 > news >正文

做跨境电商有没推荐的网站培训机构加盟

做跨境电商有没推荐的网站,培训机构加盟,wordpress版本信息在哪里查看,哈尔滨seo排名优化公司价格关于 INI 配置文件与go-ini 1 )概述 在INI配置文件中可以处理各种数据的配置INI文件是一种简单的文本格式,常用于配置软件的各种参数go-ini 是地表 最强大、最方便 和 最流行 的 Go 语言 INI 文件操作库 Github 地址:https://github.com/go-…

关于 INI 配置文件与go-ini


1 )概述

  • 在INI配置文件中可以处理各种数据的配置
  • INI文件是一种简单的文本格式,常用于配置软件的各种参数
  • go-ini 是地表 最强大、最方便 和 最流行 的 Go 语言 INI 文件操作库
    • Github 地址:https://github.com/go-ini/ini
    • 官方文档: https://ini.unknwon.io/
    • 使用示例直达: https://ini.unknwon.io/docs/intro/getting_started

2 )使用

新建配置文件 conf/app.ini

app_name   =  xxproject
log_level  = DEBUG # possible values: DEBUG, INFO, WARNING, ERROR, FATAL
admin_path = /admin[mysql]
ip       = 192.168.0.6
port     = 3306
user     = root
password = 123456
database = gin[redis]
ip   = 127.0.0.1
port = 6379

在 main.go 文件中测试核心代码

package mainimport ("gopkg.in/ini.v1""github.com/gin-gonic/gin"
)func main() {// 创建一个默认的路由引擎r := gin.Default()//演示 "gopkg.in/ini.v1"模块的使用config, err := ini.Load("./conf/app.ini")if err != nil {fmt.Printf("Fail to read file: %v", err)os.Exit(1)}// 获取ini里面的配置fmt.Println(config.Section("").Key("app_name").String())fmt.Println(config.Section("mysql").Key("password").String())fmt.Println(config.Section("redis").Key("ip").String())// 给ini写入数据config.Section("").Key("app_name").SetValue("yyyproject")config.Section("").Key("admin_path").SetValue("/admin")config.SaveTo("./conf/app.ini")r.Run()
}
  • 上面演示了获取 ini 数据 和 写入 ini 数据
  • 如果是一些比较通用的数据建议写在一个go模块里,不用读取ini配置
  • 但是关于第三方的一些东西,都可以抽离在最外层,适用于不同环境下配置不同的值

GIN 不同环境的部署使用不同的配置

  • 在一般的部署中,会拆分研发环境,测试环境,UAT环境和生产环境四种
  • 因为一些数据库等第三方配置不可能使用相同的源,必定会进行环境隔离
  • 这时候就可以设定 development.ini, test.ini, uat.ini, production.ini
  • 这里举一个在 Jenkins 中的例子
    • 在Jenkins中设置 ENV 环境变量
    • 它的值将用于决定加载哪个INI文件
  • 传递环境变量到Go程序
    • 当Jenkins启动Go程序时,确保将ENV环境变量传递给它
    • 这样,Go程序就可以根据这个变量加载相应的INI文件

下面是 main.go 中的读取示例

package main  import ("fmt""log""gopkg.in/ini.v1""os"
)func loadConfig(env string) (*ini.File, error) {// 根据环境变量或其他机制确定INI文件路径filePath := fmt.Sprintf("./conf/%s.ini", env)cfg, err := ini.Load(filePath)if err != nil {return nil, err}return cfg, nil
}func main() {  // 假设环境变量 ENV 已经设置,如 ENV=development  env := os.Getenv("ENV")  cfg, err := loadConfig(env)  if err != nil {  log.Fatalf("Failed to load configuration: %v", err)  }  // 读取配置信息  dbHost := cfg.Section("database").Key("host").String()  dbPort := cfg.Section("database").Key("port").MustInt()  // ... 其他配置  fmt.Printf("Database Host: %s, Port: %d\n", dbHost, dbPort)  
}
  • 这样,Jenkins 在不同环境执行部署的时候,由于不同环境下的 ENV 配置会设置到
  • 当前的系统环境中,go程序在读取到ENV的时候,会引导读取不同的配置文件
  • 由此,对各个部署环境进行区分和隔离
http://www.fp688.cn/news/159536.html

相关文章:

  • 罗湖网站开发互联网营销专家
  • 南阳网站建设多少钱短视频运营方案策划书
  • 国外免费网站服务器链接网站维护工程师
  • 自己做视频网站流量钱南宁百度seo公司
  • wordpress添加首页菜单seo思维
  • 婚介网站建设老域名
  • 哪些网站的做的好看的图片成功营销案例分享
  • 吉林做网站找谁百度云账号登录
  • 温州哪里做网站设计建网站需要多少钱
  • 财政网站 建设方案今日重大新闻
  • 响应式网站费用合肥seo快排扣费
  • 做外贸做网站百度网盘链接
  • 哈尔滨h5制作合肥关键词排名优化
  • 网站建设五合一迅雷磁力链bt磁力种子
  • seo整站优化托管百度平台商家客服电话
  • 莱芜最新话题搜索引擎优化是指什么意思
  • 东莞做网站(信科网络)百度普通版下载
  • 温州做网站的企业英文站友情链接去哪里查
  • 物流公司网站建设seo是网络优化吗
  • 宜春网站建设公司哪家好营销网络的建设怎么写
  • 国内产品网站建设网络营销的五个发展阶段
  • 搭建网站需要学什么软件下载深圳网站优化推广
  • wordpress 分享到插件快速整站优化
  • 梦创义网站建设软文推广策划方案
  • 最好的网站设网络营销的概念和含义
  • 织梦网站图片设置多大郑州怎么优化网站排名靠前
  • 深圳做自适应网站公司企业网站优化关键词
  • 微信公众号可以做网站嘛公众号推广合作平台
  • 网站建设开发哪家好百度客服中心人工在线
  • 做a动态网站东莞seo外包公司哪家好