package core import ( "gopkg.in/yaml.v3" ) type Config struct { Gateway struct { Routes []struct { Path string `yaml:"path"` Service string `yaml:"service"` Enable bool `yaml:"enable"` } `yaml:"routes"` } `yaml:"gateway"` } func ConfigChanged(data string) { // 从配置文件解析为对象 config := Config{} err := yaml.Unmarshal([]byte(data), &config) if err != nil { Log.Error("解析配置文本失败: %v\n", err.Error()) return } rs := config.Gateway.Routes var sma []serviceMap for _, r := range rs { item := NewServiceMapItem(r.Path, r.Service, r.Enable) sma = append(sma, item) } ServiceMap = sma Log.Info("配置文件解析完毕") }