登录
首页 >  Golang >  Go问答

控制文本在写入文本文件时的对齐方式

来源:stackoverflow

时间:2024-02-10 09:03:23 377浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《控制文本在写入文本文件时的对齐方式》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

我需要创建文本文件,并能够使用 Go 控制文本是左对齐还是右对齐。 我找到了选项卡编写器,但我不需要列。文字需要自由流畅。 有什么建议吗?


正确答案


您可以在 ascii 文本文件中执行的格式化类型非常有限。没有 ascii 控制字符来说明文本块将以某种方式对齐。您要么依靠文本查看器将自定义语法解释为格式(请参阅 markdown 格式),要么添加空格以在每行上显式创建所需的格式。

对于后者,您可以在每行前面插入空格来模拟对齐。为此,您需要为每行选择固定数量的字符(例如 40 个字符)作为格式设置的基础。请注意,此最大线宽不一定与用户使用的任何文本查看应用程序中的屏幕尺寸相匹配。

左对齐算法基本上是一种自动换行算法。请参阅 Best word wrap algorithm?

右对齐算法再次自动换行,但有一个中间步骤:让自动换行函数首先返回拆分为自动换行行的文本。然后在每行的开头填充空格数,该空格数等于剩余的字符数以适应最大行宽。

假设您的源文本是“此声明没有任何理由!”最大行宽为 15 个字符。左对齐算法将输出以下内容:

there is no
justification
for this
statement!

...右对齐算法将输出以下内容:

There is no
  justification
       for this
     statement!

如果您想更改最大线宽,则需要再次运行算法,以使用新的最大线宽重排文本。

今天关于《控制文本在写入文本文件时的对齐方式》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>