我需要創建文本文件并能夠使用 Go 控制文本是左對齊還是右對齊。我找到了標簽編寫器,但我不想要專欄。文本需要自由流動。有什么建議么?
1 回答

HUWWW
TA貢獻1874條經驗 獲得超12個贊
您可以在 ASCII 文本文件中執行的格式化種類非常有限。沒有 ASCII 控制字符表示文本塊將以某種方式對齊。您要么依賴文本查看器將自定義語法解釋為格式(請參閱 Markdown 格式),要么添加空格以在每一行上顯式創建所需的格式。
對于后者,可以在每行前插入空格來模擬對齊。為此,您需要選擇每行固定數量的字符(例如 40 個字符)作為格式設置的基礎。請注意,此最大線寬不一定與用戶使用的任何文本查看應用程序中的屏幕大小相匹配。
左對齊算法基本上是一種自動換行算法。請參閱最佳自動換行算法?為了那個原因。
右對齊算法再次是自動換行,但有一個中間步驟:首先讓自動換行函數將文本拆分為自動換行。然后用等于最大行寬內剩余的字符數的空格數填充每行的開頭。
因此,假設您的源文本是“此聲明沒有任何理由!” 并且您的最大行寬為 15 個字符。左對齊算法將輸出如下:
There is no
justification
for this
statement!
...右對齊算法將輸出:
There is no
justification
for this
statement!
如果要更改最大線寬,則需要再次運行算法以使用新的最大線寬重排文本。
- 1 回答
- 0 關注
- 130 瀏覽
添加回答
舉報
0/150
提交
取消