请教Printf如何输出覆盖上一行内容

xiongyejun · 2018-07-01 20:20:05 · 3587 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-07-01 20:20:05 的主题,其中的信息可能已经有所发展或是发生改变。

package main

import (
    "fmt"
    "time"
)

var count int = 0

func main() {
    go doSomthing()

    for count < 10 {
        fmt.Printf("count = %d\r\n", count)
        time.Sleep(2e9)
    }
}

func doSomthing() {
    for {
        count++
        time.Sleep(1e9)
    }
}

比如上面的代码,希望在输出fmt.Printf("count = %d\r\n", count)的时候,一直是显示一行内容,而不会不停的换行。 这种应该如何处理?谢谢。


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3587 次点击  
加入收藏 微博
5 回复  |  直到 2018-07-02 18:52:10
wuchenghui
wuchenghui · #1 · 7年之前

\r吧,C语言是这样的

xiongyejun
xiongyejun · #2 · 7年之前
wuchenghuiwuchenghui #1 回复

\r吧,C语言是这样的

\r不是回车符吗?

Prnyself
Prnyself · #3 · 7年之前

\n是换行啊,或者你用fmt.Println(),自带换行符

Prnyself
Prnyself · #4 · 7年之前
PrnyselfPrnyself #3 回复

\n是换行啊,或者你用fmt.Println(),自带换行符

没看明白你的意思。。。 你想要的应该是\r,不要\n \r是回车符 就是光标回到初始位置(最左侧)

xiongyejun
xiongyejun · #5 · 7年之前
wuchenghuiwuchenghui #1 回复

\r吧,C语言是这样的

谢谢,是\r

开始测试的时候没有把后面的\r\n

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传