New to GO- how it handles float precision 0.4 + 0.2 is 0.6

This will create float error if assigned like that with := as runs float64 by default.
If it sees numbers small decimal spaces, cannot logic be made at compiler to treat as float32 at compiler as it cannot mathematically give that long decimal spaces in first time.
Fix that way with float32

package main

import "fmt"

func main() {
	a := 0.2
	b := 0.4
	fmt.Println(a + b) // 0.6000000000000001
}