MCPcopy Create free account
hub / github.com/MengMengCode/GetRealityDomain / printBox

Function printBox

main.go:458–491  ·  view source on GitHub ↗

打印带边框的文本

(lines []string)

Source from the content-addressed store, hash-verified

456
457// 打印带边框的文本
458func printBox(lines []string) {
459 maxLen := 0
460 for _, line := range lines {
461 displayWidth := getDisplayWidth(line)
462 if displayWidth > maxLen {
463 maxLen = displayWidth
464 }
465 }
466
467 if maxLen < 60 {
468 maxLen = 60
469 }
470
471 // 顶部边框
472 fmt.Print("╔")
473 for i := 0; i < maxLen+2; i++ {
474 fmt.Print("═")
475 }
476 fmt.Println("╗")
477
478 // 内容
479 for _, line := range lines {
480 displayWidth := getDisplayWidth(line)
481 padding := maxLen - displayWidth
482 fmt.Printf("║ %s%s ║\n", line, strings.Repeat(" ", padding))
483 }
484
485 // 底部边框
486 fmt.Print("╚")
487 for i := 0; i < maxLen+2; i++ {
488 fmt.Print("═")
489 }
490 fmt.Println("╝")
491}
492
493// 计算字符串的显示宽度(中文字符占2个宽度,英文字符占1个宽度)
494func getDisplayWidth(s string) int {

Callers 2

PrintRealityTargetsFunction · 0.85
showResultsPaginatedFunction · 0.85

Calls 1

getDisplayWidthFunction · 0.85

Tested by

no test coverage detected