termui golang 版本的终端dashboard

termui是构建在termbox-go之上的一个跨平台的完全可自定义的终端dashboard 以及widget 库,由blessed-contrib 以及tui-rs 启发

支持的特性

  • 几个常见用例的预制小部件
  • 轻松创建自定义小部件
  • 在相对网格或绝对坐标中定位小部件
  • 键盘,鼠标和终端大小调整事件
  • 颜色和样式

简单使用

go mod

  • 创建项目
go mod init github.com/rongfengliang/dashapp
go get github.com/gizak/termui/v3
main.go:
package main
import (
 "log"
 ui "github.com/gizak/termui/v3"
 "github.com/gizak/termui/v3/widgets"
)
func main() {
 if err := ui.Init(); err != nil {
  log.Fatalf("failed to initialize termui: %v", err)
 }
 defer ui.Close()
 p := widgets.NewParagraph()
 p.Text = "Hello World!"
 p.SetRect(0, 0, 25, 5)
 ui.Render(p)
 for e := range ui.PollEvents() {
  if e.Type == ui.KeyboardEvent {
   break
  }
 }
}
  • 运行效果
go run main.go
 

说明

类似的golang 包也是挺多的,可以方便的用来开发cli dashboard 应用

参考资料

https://github.com/gizak/termui

猜你喜欢

转载自www.cnblogs.com/rongfengliang/p/12418522.html