fmt | Package fmt implements formatted I/O with functions analogous to C's printf and scanf. |
go/ast | Package ast declares the types used to represent syntax trees for Go packages. |
go/format | Package format implements standard formatting of Go source. |
go/token | Package token defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates). |
go/types | Package types declares the data types and implements the algorithms for type-checking of Go packages. |
golang.org/x/tools/go/ast/astutil | Package astutil contains common utilities for working with the Go AST. |
golang.org/x/tools/go/packages | Package packages loads Go packages for inspection and analysis. |
os | Package os provides a platform-independent interface to operating system functionality. |
path/filepath | Package filepath implements utility routines for manipulating filename paths in a way compatible with the target operating system-defined file paths. |
reflect | Package reflect implements run-time reflection, allowing a program to manipulate objects with arbitrary types. |
runtime | Package runtime contains operations that interact with Go's runtime system, such as functions to control goroutines. |
strconv | Package strconv implements conversions to and from string representations of basic data types. |
strings | Package strings implements simple functions to manipulate UTF-8 encoded strings. |
sync | Package sync provides basic synchronization primitives such as mutual exclusion locks. |
testing | Package testing provides support for automated testing of Go packages. |