This package formats the Go source code in a way so it becomes more compact. It can be considered to be a minifier, although it doesn't make irreversible transformations by default (well, it does remove all comments).
The result can become readable again after running go/format
, making this pipeline possible:
- Minify the code before transferring it over a network
- Send the (potentially further compressed) minified source code
- On the receiving side, run
gofmt
to get the canonical formatting
For (3) I would recommend using gofumpt.
Suppose that we have this hello.go
file:
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello, playground")
}
It will be formatted into this:
package main;import("fmt");func main(){fmt.Println("Hello, playground")}
Depending on the file, it usually cuts 10-50% of the file size.