Как использовать файл конфигурации при запуске скомпилированной программы golang - PullRequest
0 голосов
/ 20 сентября 2018

Я создаю файл go, используя go build main.go.Но эта программа использует INI-файл, как мне использовать этот файл, причина, когда я запускаю ./main, я получаю эту ошибку:

2018/09/20 17:37:38 open config/config.ini: no such file or directory
2018/09/20 17:37:38 open config/config.ini: no such file or directory
panic: open config/config.ini: no such file or directory

goroutine 1 [running]:
log.Panic(0xc0000f7e98, 0x1, 0x1)

Код для использования этого файла:

func GetConfigFile() (*ini.File, error) {
    f, err := ini.Load("config/config.ini")
    if err != nil {
        log.Println(err)
    }
    return f, err
}

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Это зависит от того, откуда вы запускаете вашу программу.Ознакомьтесь с концепцией текущего рабочего каталога: если вы запускаете программу из консоли, путь обычно отображается в начале строки.Вы используете относительный путь "config/config.ini" в своем коде, что означает, что если вы в данный момент находитесь в каталоге /home/user, тогда ожидается, что файл будет иметь значение /home/user/config/config.ini.

. Возможно, вы захотите либо запустить свой кодиз другого каталога или используйте абсолютный путь в вашем коде, например /home/user/go/src/myapp/config/config.ini

0 голосов
/ 20 сентября 2018

Используйте абсолютный путь как этот:

func GetConfigFile() (*ini.File, error) {
    f, err := ini.Load("/var/config/config.ini")
    if err != nil {
        log.Println(err)
    }
    return f, err
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...