将提示锁定到屏幕底部

全部。我正在Go中编写一个聊天客户端,作为我正在编写过程中的库的概念证明。它需要在相同的终端窗口中接受用户输入并打印传入的消息。考虑以下。


user@debian ~ $ ./client

no session> 192.168.1.100

> Hello, there!

Hi!

> So, did you get that feature working yet?

Nope. I thought you were going to ask on StackOverflow.

>> Yeah, I'm aski

如果在我键入内容时收到另一条消息,则应产生以下内容。


user@debian ~ $ ./client

no session> 192.168.1.100

> Hello, there!

Hi!

> So, did you get that feature working yet?

Nope. I thought you were going to ask on StackOverflow.

Or did you want me to?

>> Yeah, I'm aski

Go中有办法做到这一点吗?


繁花如伊
浏览 202回答 2
2回答

弑天下

这可能不是正确的方法(不是控制台开发人员),但是不久前,我在Go中制作了一个终端动画,该动画在我的Android手机上运行。通过清除屏幕,绘图,清除等来完成此操作。我不记得我过去用来清除屏幕的内容,但是例如,我刚刚尝试过此操作,fmt.Print("\033[2J")并且它似乎可以正常工作。谨慎的话在这里。对于平台甚至终端仿真器,对清除屏幕的转义序列的支持可能有所不同。但是考虑到这一点,您可以维护一个缓冲区,使客户端看起来像什么样,当收到一条消息时,请清除屏幕,然后更改并重新打印该缓冲区。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go