开发者

golang变量uint、int大小溢出后的结果方式

目录
  • golang变量uint、int大小溢出后的结果
    • golang中变量的大小溢出会是什么结果呢?
    • 这段代码的结果js是什么呢?
    • 其它类型和此情况类似
  • 总结

    golang变量uint、int大小溢出后的结果

    golang中变量的大小溢出会是什么结果呢?

    	// uint8的取值范围: 0 - 255
        pythonvar a uint8 = 1
    	var b uint8 = 255
    	fmt.Println("减法:", a-b)

    这段代码的结果是什么呢?

    很明显uint8的取值范围是0-255之间,此时已经超出范围了,那么超出后的结果是什么呢?

    0或者0报错?

    我也不知道,一起来看看最后的结果是怎样?

    package main
    
    import "fmt"
    
    //两个uint类型的数字相减后小于0
    func main() {
    	var a uint8 = 1
    	var b uint8 = 255
    	fmt.Println("减法:", a-b)
    	fmt.Println("加法:", a+b)
    	fmt.Println("乘法:", a*b)
    	// 结果为:
    	// 减法: 2
    	// 加法: 0
    	// 乘法: 255
    }

    www.devze.com它类型和此情况类似

    例如int64:

    package main
    
    import "fmt"
    
    // int64 Range: -9223372036854775808 through 9223372036854775807.
    func main() {
    	var a int64 = -8223372036854775807
    	var b int64 = 92www.devze.com23372036854775807
    	fmt.Println("减法:", a-b)
    	fmtwww.devze.com.Println("乘法:", a*b)
    	// 结果为:
    	// 	减法: 1000000000000000002
    	// 乘法: -1000000000000000001
    }

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜