|
@@ -150,7 +150,27 @@ func SaveData(path string, parameter interface{}) error {
|
|
|
|
|
|
// 使用原子操作替换原始文件
|
|
|
if err := os.Rename(tempFile.Name(), path); err != nil {
|
|
|
- return fmt.Errorf("替换文件失败: %v", err)
|
|
|
+ // 将结构体转换为JSON字节切片
|
|
|
+ jsonBytes, err := json.Marshal(parameter)
|
|
|
+ if err != nil {
|
|
|
+ return fmt.Errorf("Error marshalling to JSON: %v\n", err)
|
|
|
+ }
|
|
|
+
|
|
|
+ // 将字节切片转换为字符串
|
|
|
+ jsonString := string(jsonBytes)
|
|
|
+ // 打开或创建文件,并设置标志以覆盖原有内容
|
|
|
+ file, err := os.OpenFile("output.txt", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Printf("无法打开或创建文件: %v\n", err)
|
|
|
+ }
|
|
|
+ defer file.Close() // 确保在main函数结束时关闭文件
|
|
|
+
|
|
|
+ // 写入数据到文件
|
|
|
+ _, err = file.WriteString(string(jsonString))
|
|
|
+ if err != nil {
|
|
|
+ fmt.Printf("写入文件失败: %v\n", err)
|
|
|
+ }
|
|
|
+ //return fmt.Errorf("替换文件失败,直接写入: %v", err)
|
|
|
}
|
|
|
|
|
|
return nil
|