windows - 如何打印到控制台窗口?

标签 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:
> |...

是的,我用谷歌搜索了很多。标准输出、执行、管道等。不能混为一谈。

最佳答案

最简单的是使用 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 .标准错误。两者都出现在您的控制台中,但如果您想重定向这些流,则不应忘记。另一个区别是 log 包会在每个调用后附加一个换行符,如果它不是以一个结束的话。

关于windows - 如何打印到控制台窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51417299/

相关文章:

windows - 将 GDI 转换为 XPS 时,抑制 Microsoft XPS Document Writer 上的“另存为”对话框

python - 在 Windows 上使用 PyInstaller 丢失 dll 文件

php - 在PHP中解密由openssl_encrypt加密的AES-256-CBC密文时出现坏 block 大小错误

go - 当通过另一个文件导入时,仅使用 ioutils ReadDir 扫描当前目录中的文件

python - 如何在 Windows 上的 python 中测试子进程的 stdout、stderr

python - 为什么我不能使用 "from sys import stdout"重定向 STDOUT?

windows - 批处理文件中使用 vbscript 命令的批处理脚本问题

windows - Windows Azure 是否有任何可用的方法来抵御拒绝服务攻击?

encryption - GoLang 解密一个命令而不是执行它

python - Node 子进程生成 : Stdout returning an Undefined Value