golang读写INI文件到结构体中

1、准备

go使用go-ini模块非常方便,首先安装模块:

go get “github.com/go-ini/ini”

2、读取ini到结构体中

package main

import (
	"fmt"
	"github.com/go-ini/ini"
)

type Config struct {
	Username string
	Password string
}

func main() {
	// 加载配置文件
	cfg, err := ini.Load("config.ini")
	if err != nil {
		fmt.Printf("Failed to read file: %v", err)
		return
	}

	// 映射INI内容到结构体
	var config Config
	err = cfg.Section("user").MapTo(&config)
	if err != nil {
		fmt.Printf("Failed to map values: %v", err)
		return
	}

	// 打印出来看看
	fmt.Println("Username:", config.Username)
	fmt.Println("Password:", config.Password)
}

3、写结构体到ini文件

package main

import (
	"fmt"
	"github.com/go-ini/ini"
)

type Config struct {
	Username string
	Password string
}

func main() {
	// 给结构体赋值
	config := Config{
		Username: "jane",
		Password: "secret",
	}

	cfg := ini.Empty()
	// 结构体格式化到INI文件中
	err = cfg.Section("user").ReflectFrom(&config)
	if err != nil {
		fmt.Printf("Failed to reflect values: %v", err)
		return
	}

	// 写入INI
	err = cfg.SaveTo("config.ini")
	if err != nil {
		fmt.Printf("Failed to save file: %v", err)
		return
	}
}

生成配置文件如下:

[user]
Username = jane
Password = secret
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值