func GetConfig() map[string]string {
// 打开文件
file, err := os.Open("config.ini")
if err != nil {
    // 处理错误
    fmt.Println("无法打开文件:", err)
    return nil
}
defer file.Close()

// 创建一个 map 存储配置项
config := make(map[string]string)

// 读取文件的每一行
scanner := bufio.NewScanner(file)
for scanner.Scan() {
    // 解析行中的键值对
    line := strings.TrimSpace(scanner.Text())
    if len(line) == 0 || strings.HasPrefix(line, "#") {
        continue // 跳过注释和空行
    }
    parts := strings.Split(line, "=")
    if len(parts) != 2 {
        fmt.Printf("无法解析行:%q\n", line)
        continue
    }

    // 添加到 map 中
    key := strings.TrimSpace(parts[0])
    value := strings.TrimSpace(parts[1])
    config[key] = value
}

// 检查扫描过程中是否出现错误
if err := scanner.Err(); err != nil {
    fmt.Println("读取文件时发生错误:", err)
    return nil
}
return config
}

配置文件样例

# 注释会被跳过
Ip = 127.0.0.1
Port = 1234
Redis_Addr = 127.0.0.1
最后修改:2023 年 02 月 21 日
如果觉得我的文章对你有用,请随意赞赏