Go 数据类型介绍

网友投稿 246 2022-11-02


Go 数据类型介绍

变量的数据类型

每一种数据都定议了明确的数据类型,在内存中分配了不同大小的内存空间。

go的数据类型分为两大块,一部分是基本数据类型,第二部分是复杂数据类型。

上面可以看到指针也是数据类型。

结构体类似于其他编程语言里面的类class,在go里面没有类,相当于用结构体替代类了。

数据类型

var ( a int b string c float32)

在Go中所有变量都是有类型的, 比如前面的int, string, float32 这些, 因此在接下来我们将先讲解下Go的基础类型

go在语言成面定义了如下几种基础类型:

整形 12345浮点型 123.45复数 123.45i字符 'a'字符串 "abc"布尔类型 true, false枚举类型 iota自定义类型

整形

为了区分不同范围的整数类型,后面使用来数字来表示

类型名

字节宽度

取值范围

int

与平台有关

32 位系统 4 字节,64 位系统 8 字节 有符号整型

uint

与平台有关

32 位 系统 4 字节,64 位 系统 8 字节 无符号整形

int8

1 字节

用 8 位表示的有符号整型 取值范围为:[-128, 127]

int16

2 字节

用 16 位表示的有符号整型 取值范围为:[-32768,32767]

int32

4 字节

用 32 位表示的有符号整型,取值范围为:[-2147483648,2147483647]

int64

8 字节

用 64 位表示的有符号整型,取值范围为:[-9223372036854775808,9223372036854775807]

uint8

1 字节

用 8 位表示的无符号整型,取值范围为:[0,255]

uint16

2 字节

用 16 位表示的无符号整型,取值范围为:[0,65535]

uint32

4 字节

用 32 位表示的无符号整型,取值范围为:[0,4294967295]

uint64

8 字节

用 64 位表示的无符号整型,取值范围为:[0,18446744073709551615]

uintptr

与平台有关

32 位系统 4 字节,64 位系统 8 字节指针值的无符号整型

浮点型

类型名

字节宽度

取值范围

float32

4字节

IEEE-754 32位浮点型数

float64

8字节

IEEE-754 64位浮点型数

complex64

4字节

32 位实数和虚数

complex128

8字节

64 位实数和虚数

别名

类型名

字节宽度

取值范围

byte

1 字节

字节类型,取值范围同 uint8

rune

4 字节

Unicode 码点 取值范围同 uint32

字符类型

没有专门的字符型,使用byte来保存单个字母字符。

byte是不能存一个汉字的,因为在go里面都是使用utf-8的编码,如果一个汉字进去一个byte是存放不下的,按照编码的规定一个汉字占用三个字节。但是一个byte可以存放字母这些。

字符串类型

Go 语言内置了字符串类型,使用 string 表示

字面量:

可解析字符串:通过双引号(")来创建,不能包含多行,支持特殊字符转义序列原生字符串:通过反引号(`)来创建,可包含多行,不支持特殊字符转义序列

特殊字符:

\:反斜线':单引号":双引号\a:响铃\b:退格\f:换页\n:换行\r:回车\t:制表符\v:垂直制表符\ooo:3 个 8 位数字给定的八进制码点的 Unicode 字符(不能超过\377\uhhhh:4 个 16 位数字给定的十六进制码点的 Unicode 字符\Uhhhhhhhh:8 个 32 位数字给定的十六进制码点的 Unicode 字符\xhh:2 个 8 位数字给定的十六进制码点的 Unicode 字符

布尔类型

布尔类型用于表示真假,类型名为 bool,只有两个值 true 和 false,占用一个字节宽度,零值为 false

var ( IsBoy bool = true IsGirl bool = true)

枚举类型

自定义类型

比如我们可以定义自己

type Gender string


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java调用Shell命令和脚本的实现
下一篇:Zabbix proxy实现跨网段分布式监控
相关文章

 发表评论

暂时没有评论,来抢沙发吧~