数值常量可以自由地在表达式中混合和匹配,只有当它们被赋值给变量,或在需要类型的代码中使用时,才需要类型。
package main
import (
"fmt"
)
func main() {
var a = 5.9/8
fmt.Printf("a's type %T value %v",a, a)
}
在上面的程序中,5.9
按语法是浮点数,8
按语法是整数。仍然允许5.9/8,因为它们都是数值常量。除法的结果是0.7375
是一个浮点数,因此变量a
是float
类型。程序的输出是a's type float64 value 0.7375
。