Popularity
5.0
Growing
Activity
2.7
Declining
152
4
13

Programming language: Go
Tags: Miscellaneous     Strings    
Latest version: v1.5.6

ffmt alternatives and similar packages

Based on the "Strings" category

Do you think we are missing an alternative of ffmt or a related project?

Add another 'Strings' Package

README

Golang beautify data display for Humans

Build Status Go Report Card GoDoc GitHub license gocover.io

Install

# Stable version
go get -u -v gopkg.in/ffmt.v1

# Latest version
go get -u -v github.com/go-ffmt/ffmt

Usage

API Documentation

Examples

package main

import (
    ffmt "github.com/go-ffmt/ffmt"
)

func main() {
    example()
}

type mt struct {
    String string
    Int    int
    Slice  []int
    Map    map[string]interface{}
}

func example() {
    m := mt{
        "hello world",
        100,
        []int{1, 2, 3, 4, 5, 6},
        map[string]interface{}{
            "A":  123,
            "BB": 456,
        },
    }

    fmt.Println(m) // fmt the default formatting.
    /*
        {hello world 100 [1 2 3 4 5 6] map[BB:456 A:123]}
    */

    ffmt.Puts(m) // More friendly formatting.
    /*
        {
         String: "hello world"
         Int:    100
         Slice:  [
          1 2 3
          4 5 6
         ]
         Map: {
          "A":  123
          "BB": 456
         }
        }
    */

    ffmt.Print(m) // Same "Puts" but String unadded '"'.
    /*
        {
         String: hello world
         Int:    100
         Slice:  [
          1 2 3
          4 5 6
         ]
         Map: {
          A:  123
          BB: 456
         }
        }
    */

    ffmt.P(m) // Format data and types.
    /*
        main.mt{
         String: string("hello world")
         Int:    int(100)
         Slice:  []int[
          int(1) int(2) int(3)
          int(4) int(5) int(6)
         ]
         Map: map[string]interface {}{
          string("A"):  int(123)
          string("BB"): int(456)
         }
        }
    */

    ffmt.Pjson(m) // Format it in json style.
    /*
        {
         "Int": 100
        ,"Map": {
          "A":  123
         ,"BB": 456
         }
        ,"Slice": [
          1,2,3
         ,4,5,6
         ]
        ,"String": "hello world"
        }
    */

    m0 := ffmt.ToTable(m, m) // Break the fields into tables.
    ffmt.Puts(m0)
    /*
        [
         [
          "String" "Int"
          "Slice"  "Map"
         ]
         [
          "hello world"   "100"
          "[1 2 3 4 5 6]" "map[A:123 BB:456]"
         ]
        ]
    */

    m1 := ffmt.FmtTable(m0) // [][]string Table format.
    ffmt.Puts(m1)
    /*
        [
         "String      Int Slice         Map               "
         "hello world 100 [1 2 3 4 5 6] map[A:123 BB:456] "
        ]
    */

    ffmt.Mark("hello") // Mark position.
    /*
        main.go:124  hello
    */

    ffmt.Print(ffmt.BytesViewer("Hello world! Hello All!"))
    /*
  |  Address | Hex                                             | Text             |
  | -------: | :---------------------------------------------- | :--------------- |
  | 00000000 | 48 65 6c 6c 6f 20 77 6f 72 6c 64 21 20 48 65 6c | Hello world! Hel |
  | 00000010 | 6c 6f 20 41 6c 6c 21                            | lo All!          |
    */
}


License

Pouch is licensed under the MIT License. See LICENSE for the full license text.


*Note that all licence references and agreements mentioned in the ffmt README section above are relevant to that project's source code only.