Zero Dependencies
Uses Windows API directly via syscall. No external dependencies except golang.org/x/sys/windows.
Zero dependencies. Auto-inference. Fluent API. Lightning fast.

Install goTableView with a single command:
go get github.com/mansoldof/goTableViewCreate your first table in 30 seconds:
package main
import "github.com/mansoldof/goTableView"
func main() {
// Simple table with string data
gotableview.New("My First Table").
Columns("Name", "Age", "City").
Row("Alice", "30", "NYC").
Row("Bob", "25", "LA").
Show()
}
goTableView is designed with simplicity in mind. Whether you're new to Go or just need a quick way to visualize data, our API is intuitive and easy to learn.
// From structs - automatic column detection
type Person struct {
Name string
Age int
Salary float64
}
people := []Person{
{"Alice", 30, 75000},
{"Bob", 25, 60000},
}
gotableview.FromStructs("Employees", people).Show()
Native Windows ListView control provides familiar interface and excellent performance. No web browsers, no terminal limitations.
Perfect companion for plyGO data pipelines. plyGO is a lightweight, type-safe data manipulation library for Go inspired by dplyr.
go get github.com/mansoldof/plyGOpackage main
import "github.com/mansoldof/goTableView"
import "github.com/mansoldof/plyGO"
func main() {
type Employee struct {
Name string
Age int
Department string
Salary float64
}
employees := []Employee{
{"Alice", 40, "Engineering", 75000},
{"Bob", 25, "Marketing", 60000},
{"Charlie", 35, "Engineering", 90000},
{"Diana", 28, "Sales", 70000},
}
gotableview.FromStructs("Initial dataset", employees).Show()
result := plygo.From(employees).
Where("Age").GreaterThan(30).
OrderBy("Salary").Desc().
Collect()
gotableview.FromStructs("Filtered dataset", result).Show()
}
Learn the fundamentals
Explore real code
Complete documentation
MIT License