mirror of
https://github.com/Kakune55/Pixel.git
synced 2025-05-06 18:29:25 +08:00
45 lines
949 B
Go
45 lines
949 B
Go
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)
|
||
// }
|