为了账号安全,请及时绑定邮箱和手机立即绑定

如果没有 fmt.Print() 则不会发生光标移动

如果没有 fmt.Print() 则不会发生光标移动

Go
慕森卡 2023-07-17 17:14:30
基本上我是从头开始制作一个 Go IDE。我在尝试使光标在屏幕上移动时遇到的一件事是,如果我没有随机的 fmt.Print(string(buffer)) ,它就无法工作。我设法破解了它,这样它就不会进一步破坏实现。我尝试只显示单个切片,切片的一部分,但是不,它需要将整个内容转换为字符串。由于格式不正确而被片段化。这允许您移动光标,但是如果您取出 fmt.Printf(string(buffer)) 它根本不会让您移动。
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

当您按箭头键时,它们会将转义序列打印到 STDIN。您正在捕获这些转义序列,检查它们是什么,然后将它们打印回来,以便您的终端可以解释该运动。当您取出打印语句时,您的终端永远不会收到转义码,因此它不知道移动光标。

您可以编写自己的库来打印转义序列并对其进行调用,而不是仅仅传递从 STDIN 获得的内容。


查看完整回答
反对 回复 2023-07-17
  • 1 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信