go - 不会在终端上打印任何内容
问题描述
我想知道为什么当我执行命令go run example.go
时不会在终端上打印任何东西。
下面的代码有效。
package main
import "fmt"
func main() {
fmt.Println("Hello")
}
将打印Hello
。
但是当我想fmt.Printf
在运行命令执行时使用该功能时,很快就会出现响应但在终端上被删除。
package main
import "fmt"
func main() {
var i int = 2
fmt.Printf("%v %T", i, i) // fmt.Print does not work to
}
解决方案
您使用fmt.Printf
不以换行符结尾的格式,因此您的系统会尽职尽责地打印输出而没有终止换行符。
大概你的shell然后通过将光标发送到行首并打印一些东西来覆盖输出。为防止这种情况发生,要么让程序以换行符结束其输出,要么更新 shell 的提示符以避免打印现有输出。
(旁注:它只是Go
,而不是Go Lang
。这会给搜索带来一些问题,这在 C 和 C++ 等短名称语言中很常见。)
推荐阅读
- security - 使文件可用于 IIS 中经过身份验证的 API 连接
- php - gcloud 应用程序部署失败,7.4 运行时“需要 composer-runtime-api ^2.0.0”
- python - 在 Python NetworkX 中重新创建流程
- http - 谷歌云平台http post
- python - 如何获取执行时间并将其添加到我的课程中?
- javascript - 浏览器阻止获取请求,因为 Access-Control-Allow-Origin 不正确
- json - 如何在 VBA 中将多个 JSON 参数(如标头)传递给 Post Request?
- mysql - 事务和 AUTO_INCREMENT
- python - 使用 astype 更改 pandas 中的数据类型时出错
- php - 将 errorDocument 状态代码重新组合为一个 - 可能吗?