如何打印到控制台窗口?

时间:2018-07-19 07:57:21

标签: windows go stdout stdin

我想像这样从cmd运行我的go程序:

 C:\go\awesomeProject> goprogramm.exe -generate -val=2

并希望获得这样的反馈:

> Process started
> Something went wrong. Type e-mail to receive report:
> |...

是的,我在Google上搜索了很多。标准输出,执行,管道等。不能混在一起。

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用fmt软件包及其全局功能,例如:

fmt.Println("Process started")
fmt.Println("Something went wrong. Type e-mail to receive report:")

var i int = 3
var err error = io.Eof
fmt.Printf("And some formatted text: number: %d, an error: %v\n", i, err)

如果您需要更多配置或用于重定向输出的选项,例如到文件中(以后),则可以使用log包。

log.Println("Process started")
log.Println("Something went wrong. Type e-mail to receive report:")

var i int = 3
var err error = io.Eof
log.Printf("And some formatted text: number: %d, an error: %v", i, err)

一个明显的区别是,默认情况下,fmt程序包写入os.Stdout,而log程序包写入os.Stderr。两者都出现在您的控制台中,但是如果您要重定向这些流,则不要忘记它们。另一个区别是log包在每个调用后面都添加了换行符。

相关问题