Imports

Learn about imports in Go.

Unused imports

Go programs with unused imports don’t compile. This is a deliberate feature of the language since importing packages slows down the compiler. In large programs, unused imports could make a significant impact on compilation time.

To keep the compiler happy during development, you can reference the package in some way:

Press + to interact
package main
import (
"fmt"
"math"
)
// Reference unused package
var _ = math.Round
func main() {
fmt.Println("Hello")
}

goimports

A better solution is to use the goimports tool. goimports removes unreferenced imports. What’s even better is that the following widget does not use goimports and the compilation fails

Press + to interact
package main
import "math" // imported and not used: "math"
func main() {
fmt.Println("Hello") // undefined: fmt
}

After running goimports: ...