Exported names

In Go, a name is exported if it starts with a capital letter. Pi is exported from the math package. pi is not — it stays private to that package.

When you import a package, you can only access its exported names. Anything lowercase is off-limits from outside.

Try it — run the code as-is and read the error. Then fix it by changing math.pi to math.Pi.

package main

import (
	"fmt"
	"math"
)

func main() {
	fmt.Println(math.pi)
}