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