Как передать вывод программы go в терминале в другую программу? - PullRequest
0 голосов
/ 16 мая 2019

Я хочу запустить grep для вывода, созданного программой go.С другими языками я могу легко это сделать.например: тест Java |grep world

Кажется, что даже перенаправление вывода в файл не работает, и созданный файл пуст, а терминал все еще печатает вывод.

package main
func main() {
  println("One")
  println("Hello")
}

Ожидается:

go build test.go
./test | grep 'e'
Hello

Факт:

go build test.go
./test | grep 'e'
One
Hello

1 Ответ

0 голосов
/ 16 мая 2019

Я понял свою ошибку.

Из печатной документации:

Встроенная функция println форматирует свои аргументы в способ реализации и записывает результат в стандартную ошибку.

Итак, он не выводится на стандартный вывод. Для печати на стандартный вывод можно использовать fmt.Println.

...