ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基本数据类型

2022-07-04 20:36:13  阅读:201  来源: 互联网

标签:基本 符号 int 32 fmt 数据类型 64 整型


一.整形

整形分为以下两个大类:按长度分为:int8,int16,int32,int62对应的无符号整形:uint8,uint16,uint32,uint64

其中,uint8就是我们熟知的byte型,int16对应c语言short形,int64对应c语言中的long形

类型          描述
uint8           无符号 8位整型 (0 到 255)
uint16    无符号 16位整型 (0 到 65535)
uint32    无符号 32位整型 (0 到 4294967295)
uint64    无符号 64位整型 (0 到 18446744073709551615)
int8            有符号 8位整型 (-128 到 127)
int16            有符号 16位整型 (-32768 到 32767)
int32             有符号 32位整型 (-2147483648 到 2147483647)
int64             有符号 64位整型 (-9223372036854775808 到 
                 9223372036854775807)    

特殊整型:

类型    描述
uint    32位操作系统上就是uint32,64位操作系统上就是uint64
int    32位操作系统上就是int32,64位操作系统上就是int64
uintptr    无符号整型,用于存放一个指针

注意:

在使用int和 uint类型时,不能假定它是32位或64位的整型,而是考虑intuint可能在不同平台上的差异。

注意事项 获取对象的长度的内建len()函数返回的长度可以根据不同平台的字节长度进行变化。实际使用中,切片或 map 的元素数量等都可以用int来表示。在涉及到二进制传输、读写文件的结构描述时,为了保持文件的结构不会受到不同编译目标平台字节长度的影响,不要使用int和 uint

数字字面量语法(Number literals syntax)

Go1.13版本之后引入了数字字面量语法,这样便于开发者以二进制、八进制或十六进制浮点数的格式定义数字,例如:

v := 0b00101101, 代表二进制的 101101,相当于十进制的 45。 v := 0o377,代表八进制的 377,相当于十进制的 255。 v := 0x1p-2,代表十六进制的 1 除以 2²,也就是 0.25。

而且还允许我们用 _ 来分隔数字,比如说: v := 123_456 表示 v 的值等于 123456。

我们可以借助fmt函数来将一个整数以不同进制形式展示。

package main
 
import "fmt"
 
func main(){
    // 十进制
    var a int = 10
    fmt.Printf("%d \n", a)  // 10
    fmt.Printf("%b \n", a)  // 1010  占位符%b表示二进制
 
    // 八进制  以0开头
    var b int = 077
    fmt.Printf("%o \n", b)  // 77
 
    // 十六进制  以0x开头
    var c int = 0xff
    fmt.Printf("%x \n", c)  // ff
    fmt.Printf("%X \n", c)  // FF
}

二.浮点型

go语言支持两种浮点型数:float和float,这两种浮点型数据格式遵循IEEE标准

 

标签:基本,符号,int,32,fmt,数据类型,64,整型
来源: https://www.cnblogs.com/whc6/p/16444293.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有