我一直在拉我的头发,为什么这个代码抛出的错误:参数太多返回错误
package util
import (
"path/filepath"
"sync"
"github.com/go-ini/ini"
)
// ConfigMap is map for config values
type ConfigMap struct {
LogPath string
PublicDir string
SessionName string
Debug bool
DBUsersHost string
DBUsersName string
DBUsersUsername string
DBUsersPassword string
}
var once sync.Once
// Config loads and return config object
func Config() (*ConfigMap, error) {
once.Do(func() {
// Find the location of the app.conf file
configFilePath, err := filepath.Abs("../build/app.conf")
if err != nil {
return nil, err
}
// Load app.conf
cfg, err := ini.Load(configFilePath)
if err != nil {
return nil, err
}
// Get app mode
mode, err := AppMode()
if err != nil {
return nil, err
}
c := &ConfigMap{}
err = cfg.Section(mode).MapTo(c)
if err != nil {
return nil, err
}
return c, err
})
}
正如你所看到的,配对完全正确的。每个返回码都会返回&ConfigMap
和err
,并且函数签名会与其匹配。我错过了什么?