go 字符串转uint64_云原生运维开发|Go语言最佳实践,数字与布尔类型

本文介绍了Go语言的基础类型,重点关注数字中的整数类型,包括int8到uint64的大小及取值范围。特别讨论了如何将字符串转换为uint64,并探讨了在不同场景下的最佳实践。
摘要由CSDN通过智能技术生成
e31e91fe46a4265f2773a7830cbbd1ce.png

Go语言的数据类型分为:基础、聚合、引用、接口四大分类,本章介绍基础类型中的数字与布尔,以及它们在各个场景下的最佳实践。

1 - 基础类型归类

可分为:数字、字符串、布尔类型。

750b05c4b8f676d7ff0e7dae00b553ba.png

本章的重点是数字与布尔类型,字符串将在下一章介绍,其中数字可分为: 整数(正负)、复数、浮点数。

2 - 数字类型:整数

b5c4aa4fbd3334302eb853e8cb71f1e6.png

类型大小

根据所占bit的大小,有符号整数:int8、int16、int32、int64;无符号整数:uint8、uint16、uint32、uint64。

特别的int或uint类型等同于当前编译器认为运行效率最高的值,为32位或64位,既:int32或int64;uint32或uint64,且有可能在同一硬件平台下,不同编译器选择不同的大小。

rune类型是int32的别名,用于指明一个unicode的码点;byte类型是uint8的别名,用于指明一个原始字节数。

取值范围

有符号整数以补码形式表示,正整数三码合一,补码等于原码等于反码,负整数的补码等于原码除符号位取反后加1。

有符号整数:-2^(n-1) 至 2^(n-1) - 1,最高位作为符号位;无符号整数:0 至 2^n - 1。

例如:int8 = -2 * 2 * 2 * 2 * 2 * 2 * 2 至 127 (-128 ~ 127),uint8 = 0 至 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 - 1(0 ~ 255)

有符号整数保留最高位为符号位(二进制表示)

package mainimport ( "fmt" "unsafe")func main() { var a int8 = 100 var b int8 = -100 fmt.Printf("a: %d = %s, b: %d = %s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值