What is the difference between Go's type inference and explicit typing in Go?