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

 更新时间:2024年12月20日 09:46:39   作者:牛宝贝儿哦  
在Go语言中,变量的大小溢出后,`uint`类型会回绕到最小值,而`int`类型会回绕到最大值的相反数,例如,`uint8`溢出后会变成0,`int64`溢出后会变成最小的负数

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

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

	// uint8的取值范围: 0 - 255
    var 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
}

其它类型和此情况类似

例如int64:

package main

import "fmt"

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Go语言常用字符串处理方法实例汇总

    Go语言常用字符串处理方法实例汇总

    这篇文章主要介绍了Go语言常用字符串处理方法,实例汇总了Go语言中常见的各种字符串处理技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 一文详解Golang使用接口支持Apply方法的配置模式

    一文详解Golang使用接口支持Apply方法的配置模式

    这篇文章主要为大家介绍了一文详解Golang使用接口支持Apply方法的配置模式,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Golang使用ReverseProxy实现反向代理的方法

    Golang使用ReverseProxy实现反向代理的方法

    本文介绍了如何使用Golang的ReverseProxy实现反向代理,包括源码结构解析和官方单机示例NewSingleHostReverseProxy,同时指出,若要实现负载均衡,需要自行开发,还提供了一个简单的HTTP服务用于测试,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • golang实现浏览器导出excel文件功能

    golang实现浏览器导出excel文件功能

    这篇文章主要介绍了golang实现浏览器导出excel文件功能,文章通过golang导出excel文件返回给web,实现浏览器导出excel文件功能,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • golang踩坑实战之channel的正确使用方式

    golang踩坑实战之channel的正确使用方式

    Golang channel是Go语言中一个非常重要的特性,除了用来处理并发编程的任务中,它还可以用来进行消息传递和事件通知,这篇文章主要给大家介绍了关于golang踩坑实战之channel的正确使用方式,需要的朋友可以参考下
    2023-06-06
  • Go接口的用法详解

    Go接口的用法详解

    本文主要介绍了Go接口的用法详解,包括定义接口、实现接口、使用接口、空接口等,通过接口,可以实现多态性,即一个对象可以实现多个接口,从而实现不同接口的行为,感兴趣的可以了解一下
    2023-11-11
  • golang中context.WithValue的使用规范问题小结

    golang中context.WithValue的使用规范问题小结

    本文主要介绍了golang中context.WithValue的使用规范问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • go实现一个内存缓存系统的示例代码

    go实现一个内存缓存系统的示例代码

    本文主要介绍了go实现一个内存缓存系统的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • 一文带你深入了解Go语言中的事务

    一文带你深入了解Go语言中的事务

    事务中止时,你结束事务了吗?在开发时有可能就会犯这样的错误,其问题就是你在提交事务时,如果中间有其他业务就取消操作,那么事务也关闭了吗?本文就来详细讲讲
    2023-04-04
  • 详解以go思想去处理js异常抛弃trycatch

    详解以go思想去处理js异常抛弃trycatch

    这篇文章主要为大家介绍了详解以go思想去处理js异常抛弃trycatch,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03

最新评论