如何拥有在标准输出上更新的就地字符串

2024-05-26

我想输出到标准输出并让输出“覆盖”以前的输出。

例如;如果我输出On 1/10,我想要下一个输出On 2/10覆盖On 1/10。我怎样才能做到这一点?


stdout是一个流(io.Writer)。您无法修改已写入其中的内容。什么can更改的是该流在打印到终端时的表示方式。请注意,没有充分的理由假设这种情况。例如,用户可以随意将标准输出重定向到管道或文件。

所以正确的方法是首先检查:

  • 如果标准输出要去终端
  • 该终端覆盖行/屏幕的程序是什么

上述两者都不在这个问题的范围内,但我们假设终端是我们的设备。然后通常打印:

fmt.Printf("\rOn %d/10", i)

将覆盖终端中的前一行。\r代表carriage return,由许多终端实现为将光标移动到当前行的开头,从而提供“覆盖行”功能。

作为具有不同支持的“覆盖”的“其他”终端的示例,这里是一个示例操场 http://play.golang.org/p/b1LlRwxPdu.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何拥有在标准输出上更新的就地字符串 的相关文章

随机推荐

  • 如何为我的文件格式选择一个好的幻数?

    我正在从头开始设计一个二进制文件格式 我想在开头包含一些魔术字节 以便可以轻松识别它 我该如何选择哪些字节 我不知道有任何幻数的中央注册表 所以这只是一个随机选择一些尚未被附近 UNIX 机器上的文件命令识别的东西的问题吗 远离超短的神奇数
  • 如何更改 mat-slide-toggle 的颜色属性/覆盖组件的 CSS?

    有什么办法可以改变颜色属性mat slide toggleAngular Material 组件库中的组件 如何覆盖它的样式 或者有人可以建议我任何其他用于 Angular 5 应用程序的滑动开关 例如材料滑动开关 您可以更改原色mat s
  • 将存储库移至另一台计算机

    我已将存储库从计算机 A 移至计算机 B 我已验证等待推送的提交仍在 B 上 但整个存储库 每个文件 均未暂存 我不想添加它们并将它们作为提交推送 因为从复制存储库到粘贴它 我没有更改每个文件 当我移动存储库时 它只有等待推送的提交 而不是
  • 新编译的应用程序需要 UAC/elevation?

    我有一个系统 我将其设置为普通的 UAC 并在我的 delphi 环境中编译名为 ka exe 的项目 并为其创建一个 installshield 项目 设置完毕 一切顺利 但每当我开始我的程序时 它都需要提升 而我不知道为什么 为了确保
  • Oracle 时间戳数据类型

    不带参数的时间戳数据类型和带参数 0 的时间戳数据类型有什么不同 timestamp VS timestamp 0 括号中的数字指定要存储的小数秒的精度 所以 0 意味着不存储任何一小部分秒 而仅使用整秒 如果未指定 则默认值为小数点分隔符
  • Java检测音频文件(mp3)

    我有这段代码可以读取 mp3 文件 import java io File import java io IOException import javax sound sampled AudioSystem import javax sou
  • “google.maps.event.addDomListener(窗口,'加载',初始化);”是什么意思意思是? [复制]

    这个问题在这里已经有答案了 这是什么意思 google maps event addDomListener window load initialize 我有函数 initialize 但我还添加了两个参数 经度和纬度 所以它是这样的 fu
  • Excel宏-将逗号分隔的条目拆分为新行[重复]

    这个问题在这里已经有答案了 我目前在一张纸上有这些数据 Col A Col B Col C 1 A angry birds gaming 2 B nirvana rock band 我想要做的是将第三列中的逗号分隔条目拆分并插入新行 如下所
  • NumPy:linalg.eig() 和 linalg.eigh() 之间的区别

    在 Python 3 应用程序中 我使用 NumPy 来计算对称实矩阵的特征值和特征向量 这是我的演示代码 import numpy as np a np random rand 3 3 generate a random array sh
  • 无法安装 JDK 9,因为“另一个 Java 安装正在进行中”

    我已经在 Windows 10 x64 上使用 JDK 9 一段时间了 但是当我去安装最新的早期版本 b174 时 我首先卸载了以前的版本 像往常一样 然后运行新的安装程序 它失败并显示一个消息框 显示 另一个 Java 安装正在进行中 您
  • 如何在公共交通中记录失败的消息?

    我正在寻找一个好的解决方案来在超出重试限制后立即记录失败消息 而无需处理错误队列 到目前为止我发现了什么 我可以继承InMemory入站消息跟踪器并覆盖是否超出重试限制 但此时除了 id 之外 没有关于消息本身的信息 我可以实施IInbou
  • 如何在 android 中的 facebook、whatapp、instagram 和其他平台上分享推荐代码

    我有一个屏幕 用户可以通过该屏幕在 Facebook WhatsApp Twitter 和 Instagram 上分享推荐代码 我已经有一个 API 来生成推荐代码 现在我正在浏览branch io 文档 但我能找到的只是深层链接 我无法理
  • 无法上传大于 8MB 的文件

    我正在尝试制作一个文件上传脚本 并且我已经为这个问题苦苦挣扎了一段时间 我已阅读并尝试了与此相关的所有答案 但无济于事 这是我在 php 中尝试过的 文件名 file uploads On upload max filesize 100M
  • 按共同日期对数组数据进行排序

    我有一个包含许多行和 3 列的 csv 文件 日期 代表和销售额 我想使用 Python 生成一个新数组 该数组按日期对数据进行分组 并且对于给定日期 按销售额对代表进行排序 例如 我的输入数据如下所示 salesData 201703 B
  • 使用 Click 在 python 中创建命令行应用程序

    我正在使用 Python 创建一个命令行应用程序Click http click pocoo org 接受名称作为输入的库 但如果未输入名称 则返回默认值 这是我到目前为止的代码 hello py import click click ve
  • 如何从窗体单元外部访问delphi控件?

    我试图从如下定义的过程中调用计时器的 Enabled 属性 procedure Slide Form TForm Show Boolean 并且没有固定的形式名称 例如 Form2 Timer 将表单的单位放入使用列表后 这可以工作 For
  • 当你不继承Rails 4中的ApplicationController时,如何包含respond_to?

    我在 Rails 4 1 2 应用程序中有一个 API 控制器 它不继承自应用程序控制器 我试图包含 respond to 方法并得到一个方法未定义的错误 所以然后我需要在顶部的操作包 如下所示 require action pack cl
  • 模态转换风格就像邮件应用程序中一样

    我试图实现模态呈现效果 其中呈现的视图仅部分覆盖父视图 如下图所示 我知道我可以通过使用实现自定义转换来实现这一点UIPresentationController 我不想重新发明轮子 所以在继续开发之前我想问一下 API 中是否有对这种转换
  • 如何只修改记录的一个字段而不完全重写它? [复制]

    这个问题在这里已经有答案了 It s the second time I m tackling this problem And for the second time this is while working with the Stat
  • 如何拥有在标准输出上更新的就地字符串

    我想输出到标准输出并让输出 覆盖 以前的输出 例如 如果我输出On 1 10 我想要下一个输出On 2 10覆盖On 1 10 我怎样才能做到这一点 stdout是一个流 io Writer 您无法修改已写入其中的内容 什么can更改的是该