go之基本数据类型
整型
go中整型包括int,int8,int16,int32,int64。并且有正负
int 类型
在32位机器是int32,在64位机器是int64
范围:在 32 位系统下是 -2147483648~2147483647,而在 64 位系统是 -9223372036854775808~9223372036854775807
int8类型
大小为8位,表示正负2的7次方减1
范围:-128~127
int16类型
大小为16位,表示正负2的15次方减1
范围:-32768~32767
int32类型
大小32位,表示正负2的31次方减1
范围:-2147483648~2147483647
int64类型
大小64位,表示正负2的63次方减1
范围:-9223372036854775808~9223372036854775807
补充:
python中整型不讲求这个,直接定义即可,可以无限大,另外它还是一个对象,对象还有方法,占空间
java中的变量类型
1 2 3 4 5 6 7 8 | byte (位) : int8 short (短整数) : int16 int (整数) : int32 long (长整数) : int64 float (单精度) : float32 double (双精度) : float64 char (字符) : byte 不是完全对象,暂时先这么理解 boolean (布尔值):bool类型 |
无符号整型
没有负数,只有正数
uint 类型
在32位机器是int32,在64位机器是int64
范围:在 32 位系统下是 0~4294967295,而在 64 位系统是 0~18446744073709551615
uint8类型
大小为8位,表示正负2的7次方减1
范围:0~255
uint16类型
大小为16位,表示正负2的15次方减1
范围:0~65535
uint32类型
大小32位,表示正负2的31次方减1
范围:0~4294967295
uint64类型
大小64位,表示正负2的63次方减1
范围:0~18446744073709551615
浮点型
带小数点(本身就是会有精度损失)
float32 小数点后6位
float64 小数点后15位
复数
复数由实部(real)和虚部(imag)构成
complex64:实部和虚部都是 float32 类型的的复数
complex128:实部和虚部都是 float64 类型的的复数
byte
是uint8的别名,底层就是uint8,一个byte占1个字节,ASCII码-->1个字节
1 2 3 4 | //var a byte =255 //var a byte ='z' //【单引号】引起ASCII的一个字符 //var a byte =97 //fmt.Println(a) |
rune
是int32的别名,底层就是int32,占4个字节,表示一个unicode编码的字符
1 2 3 | // unicode 是4个字节表示一个字符 //var a rune ='中' // unicode 编码的 中 字 //fmt.Println(a) |
字符串类型,string
双引号,或者是 反引号:反引号可以换行,中间可以带双引号
没有单引号或三引号,单引号不是表示字符串,表示的是一个 unicode 字符
1 2 3 4 5 6 7 8 9 10 | //双引号,不能换行,换行需要加\n var name string = "lqz\n" + "is" + "handsome" //反引号 支持换行 var name string = `lqz is handsome "" ` fmt.Println(name) |
go语言中字符串操作不能判断是否以xx开头,结尾,子字符串在不在。。。就不能像python一样通过点方式,只能通过标准库提供的方法
1 2 | res:=strings.Contains( "lll is handsome" , "lqw" ) fmt.Println(res) |
布尔类型
定义只能定义true或者false
1 2 3 | var b bool =true b=false fmt.Println(b) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?