Как перенаправить stdout в файл программно на Go?

Заранее извиняюсь, если вопрос слишком простой. Имеется такая функция:

package main

import (
        curl "github.com/andelf/go-curl"
)

func json_get(link string) {
        easy := curl.EasyInit()
        defer easy.Cleanup()
        if easy != nil {
                easy.Setopt(curl.OPT_URL, link)
                easy.Perform()
        }
}

Как перенаправить STDOUT или даже сам CURL в файл? Перенаправить надо программно, т е без ./main > myfile.out. ОС - Linux.


Ответы (1 шт):

Автор решения: Sheridan

Посмотрите список опций. Я, например, вижу OPT_STDERR, OPT_VERBOSE, OPT_FILE, OPT_NOPROGRESS - чтото из этого, думаю, должно помочь. Для прогресса там даже есть пример


Нужно использовать stdout/stderr/stdin as is, не переделывая. Переделкой вы сломаете ожидаемое поведение и вызовете негодование уже у специалистов. Правильный подход - обучить неопытных.

Если нужно писать логи, то пишите их в файл отдельно, не трогая стандартные потоки io.

→ Ссылка