在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Numeric constants are high-precision values. An untyped constant takes the type needed by its context. Try printing
package main import "fmt" const ( Big = 1 << 100 Small = Big >> 99 ) func needInt(x int) int { return x*10 + 1 } func needFloat(x float64) float64{ return x * 0.1 } func main() { fmt.Println(needInt(Small)) fmt.Println(needFloat(Small)) fmt.Println(needFloat(Big)) }
package main import "fmt" const ( Big = 1 << 100 Small = Big >> 99 ) func needInt(x int) int { return x*10 + 1 } func needFloat(x float64) float64{ return x * 0.1 } func main() { fmt.Println(Small); var intVariable int = 1 //var float32Variable float32 = 1.2 fmt.Println(needInt(Small)) // constant 1267650600228229401496703205376 overflows int //fmt.Println(needInt(Big)) fmt.Println(needFloat(Small)) fmt.Println(needFloat(Big)) //go语言对类型的要求是很严格的,所以你不能传递int到float中或者float到int fmt.Println(needInt(intVariable)) //cannot use float32Variable (type float32) as type int in argument to needInt //fmt.Println(needInt(float32Variable)) //cannot use intVariable (type int) as type float64 in argument to needFloat //fmt.Println(needFloat(intVariable)) //cannot use float32Variable (type float32) as type float64 in argument to needFloat //fmt.Println(needFloat(float32Variable)) } 不过常量却相对宽容一些 //constant 1267650600228229401496703205376 overflows int fmt.Println(Big);
|
请发表评论