Not in Go. Number literals don't have a type until they're assigned to a variable or used in a place that implies a type (e.g. a function argument). For example, the following is valid:
var u uint32 = 10000000000.0 / 100000
even though 10000000000 overflows uint32 and it's also written like a floating-point literal.> Not in Go.
Yes in go. `var u = 1e7` gives a float. That means 1e7 is a float literal. You can coerce it to an integer by explicitly typing the target, but it's still a float literal.
Re:Go 1.13 Release Notes
by yencabulator on Thursday September 12, 2019 @02:11PM
(#20954505)
`1e7` is an untyped numeric constant with a default type of float64.
Is a float literal.