package inip import ( "fmt" "os" "gopkg.in/ini.v1" ) var ininame string var cfg *ini.File // GetIni memorizza localmente il nome del file da aprire, ma senza lavorarci su func GetIni(ini1 string) { ininame = ini1 fmt.Println("File indicato",ininame) /* inizialmente avevo usato 'ininame' sia come variabile locale che come variabile globale. grande errore: in pratica mettevo il nome in 'ininame' locale e quella globale restava vuota. da qui l'uso di 'ini1' e 'ininame' */ } // sulla base del contenuto di "ininame" carica il file .ini func LoadIni() *ini.File { var err error cfg, err = ini.Load(ininame) if err != nil { fmt.Printf("Non posso leggere il file %s\n",ininame) os.Exit(1) } return cfg } func GetMySection() []string { return cfg.SectionStrings() }