fatedier afde0c515c packages: add package github.com/rodaine/table | 6 лет назад | |
---|---|---|
.. | ||
.travis.yml | 6 лет назад | |
license | 6 лет назад | |
makefile | 6 лет назад | |
readme.md | 6 лет назад | |
table.go | 6 лет назад | |
table_test.go | 6 лет назад |
Package table provides a convenient way to generate tabular output of any data, primarily useful for CLI tools.
string
, int
, interface{}
, everything!) and will use the String() string
method of a type if available.io.Writer
, defaulting to os.Stdout
.Table
implementation.WidthFunc
to accomodate multi- and zero-width characters (such as runewidth)Download the package:
go get -u github.com/rodaine/table
Example:
package main
import (
"fmt"
"strings"
"github.com/fatih/color"
"github.com/rodaine/table"
)
func main() {
headerFmt := color.New(color.FgGreen, color.Underline).SprintfFunc()
columnFmt := color.New(color.FgYellow).SprintfFunc()
tbl := table.New("ID", "Name", "Score", "Added")
tbl.WithHeaderFormatter(headerFmt).WithFirstColumnFormatter(columnFmt)
for _, widget := range getWidgets() {
tbl.AddRow(widget.ID, widget.Name, widget.Cost, widget.Added)
}
tbl.Print()
}
Consult the documentation for further examples and usage information
Please feel free to submit an issue or PR to this repository for features or bugs. All submitted code must pass the scripts specified within .travis.yml and should include tests to back up the changes.
table is released under the MIT License (Expat). See the full license.