package config import ( "bufio" "bytes" "fmt" "strings" ) func SetXginiBuffer(configBuffer *bytes.Buffer, xginiMap map[string]string) { tmpBuffer := new(bytes.Buffer) writer := bufio.NewWriter(tmpBuffer) scanner := bufio.NewScanner(configBuffer) for scanner.Scan() { line := scanner.Text() for k, v := range xginiMap { if strings.Contains(line, k) { parts := strings.SplitN(line, "=", 2) if len(parts) == 2 { newLine := strings.TrimSpace(parts[0]) + "= " + v + ";" line = fmt.Sprint(" " + newLine) break // 停止继续处理该行 } } } _, err := writer.WriteString(line + "\n") if err != nil { fmt.Println(err) return } } err := writer.Flush() if err != nil { fmt.Println(err) return } // 使用 tmpBuffer 中的内容更新 configBuffer configBuffer.Reset() _, err = configBuffer.ReadFrom(tmpBuffer) if err != nil { fmt.Println(err) return } //fmt.Println("配置文件已成功更新。") }