添加配置文件功能

This commit is contained in:
2023-12-21 09:22:22 +08:00
parent 4dde2ba1ab
commit d701f59a4e
3 changed files with 114 additions and 65 deletions

44
config/load.go Normal file
View File

@@ -0,0 +1,44 @@
package config
import (
"encoding/json"
"os"
)
type User struct {
Listen string `json:"listen"`
}
func ReadConfig(filePath string) (User, error) {
// 检查文件是否存在
if _, err := os.Stat(filePath); os.IsNotExist(err) {
// 文件不存在创建一个新的JSON文件
user := User{Listen: ":9090"}
data, err := json.Marshal(user)
if err != nil {
return User{}, err
}
err = os.WriteFile(filePath, data, 0644)
if err != nil {
return User{}, err
}
}
// 读取文件内容
data, err := os.ReadFile(filePath)
if err != nil {
return User{}, err
}
// 解析JSON数据
var user User
err = json.Unmarshal(data, &user)
if err != nil {
return User{}, err
}
return user, nil
}
//如何调用
//---------------------------------------
// filePath := "user.json"
// // 读取配置文件
// user, err := ReadConfig(filePath)
// if err != nil {
// fmt.Println("读取配置文件失败:", err)
// }