package main import ( "fmt" "git.swzry.com/zry/ztermtab" ) func main() { test1() } func test1() { // 两列,第二列自由宽度的示例 ttp := ztermtab.NewTerminalTablePrinter(80, " | ") // 参数说明: // title: 标题 // minWidth: 最小宽度。对于自由列,该参数无效。 // maxWidth: 最大宽度。请提前规划好各列最大宽度,应确保所有列最大宽度的和加上所有分隔符宽度小于终端宽度。 // 对于自由列,该参数无效。另:若表格有自由列,则需要确保所有列的最大宽度的和加上所有分隔符宽 // 度,再加上自由列的最小宽度仍然小于终端宽度。 // truncateOverflow: 截断超长串。若为true,超出maxWidth的字符串会被截断;若为false, // 则超出maxWidth的字符串会换行。 ttp.AddColumn("command", 10, 20, false) ttp.AddColumn("description", 0, 0, false) // 设置第二列为自由列,索引从0开始 ttp.SetAutoWidthColumn(1) // 在开始添加第一行数据以后,AddColumn和SetAutoWidthColumen不再起作用。 ttp.AddRow([]string{ "aaa", "设置3A (Authentication & Authorization & Accounting)认证相关的选项", }) ttp.AddRow([]string{ "dhcp", "DHCP Settings", }) ttp.AddRow([]string{ "emoji😀", "😂😂😂😂😂😂💻🖥🖨⌨🖱🖲💾💿📼📹📡📽🎬👩👨🧑👧👦🧒👶☝👇👈👉💪💪💪🤘🖐✋👌👍👎✊", }) lines := ttp.RenderToTerminalLines() printLines(lines) } func printLines(lines []string) { for _, v := range lines { fmt.Println(v) } }