15

GoLang 学习笔记 - 基本数据类型

 4 years ago
source link: https://www.tuicool.com/articles/BjuuiuB
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

GoLang 的数据类型

  在 GoLang 中,数据类型用于声明函数和变量。数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。

  GoLang 有以下几种数据类型:

类型 描述 布尔 基本数据类型,只有两个值,并且只可以是常量 —— true 或者 false 。 数值 基本数据类型,GoLang 支持整型、浮点型数字,并且支持复数,其中位的运算采用补码。 字符串 基本数据类型,GoLang 中 string 类型被官方定为基本数据类型,是一串由单个字节连接起来的字符序列。GoLang 字符串的字节使用 UTF-8 编码标识 Unicode 文本。 派生 派生类型包括很多种,其中有:指针、数组、结构体、管道、切片、接口、集合 。 (关于派生数据类型会有单独的篇章来讲解,这里不赘述。)

数值类型

整型

类型 描述 int 基于架构的类型,长度根据宿主机的机器字长决定,在 32 位操作系统上为 32 位,在 64 位操作系统上为 64 位 int8 有符号 8 位整型 (-128 到 127) int16 有符号 16 位整型 (-32768 到 32767) int32 有符号 32 位整型 (-2147483648 到 2147483647) int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807) uint 无符号整型,长度同 int uint8 无符号 8 位整型 (0 到 255) uint16 无符号 16 位整型 (0 到 65535) uint32 无符号 32 位整型 (0 到 4294967295) uint64 无符号 64 位整型 (0 到 18446744073709551615) rune 和 int32 类型等价,Unicode 字符类型,通常用于表示一个 Unicode 码点。rune 和 int32 可以互换使用。 byte 和 uint8 类型等价,byte类型一般用于强调数值是一个原始的数据而不是 一个小的整数。GoLang 中 byte 类型可以用于表示字符(char)。 uintptr 一种无符号的整数类型,没有指定具体的bit大小但是足以容纳指针。 uintptr类型只有在底层编程是才需要,特别是Go语言和C语言函数库或操作系统接口相交互的地方。

浮点型

类型 描述 float32 32位浮点数 (约 - 3.4003e + 38 到 3.4003e + 38) float64 64位浮点数 (约 - 1.798e + 308 到 - 1.798e + 308)

复数类型

类型 描述 complex64 32 位实数和虚数 complex128 64 位实数和虚数

布尔类型

  bool 类型表示真假值,只能为 truefalse 。通常用来控制程序流程,在逻辑运算、迭代和递归中经常使用。注意,GoLang 中的布尔值不能用零和非零来表示。

字符串类型

字符

  • Golang 中没有专门的字符(char)类型,如果要存储单个字符 (数字或字母) ,一般使用 byte 来保存。
  • 字符( byte )直接输出时,输出的是对应字符的 ASCII 码值。
  • 可以直接给某个变量赋值一个数值,然后按格式化输出时 %c ,会输出该数字对应的 Unicode 字符。
  • GoLang 的字符和字符串使用 UTF-8 编码,英文字母占一个字符,汉字占三个字符。
  • 当保存的字符 ASCII 码值大于 255,如汉字,byte 类型就无法保存,此时可以使用 uint 或 int 类型保存。

字符串

  • 不能用单引号 ' 包裹,如果遇到用单引号包裹的,则是字符(用 byte 类型声明),不是字符串。
  • 字符串一旦赋值了,就不能修改,只能重新赋值。
  • 字符串有两种标识形,用双引号包裹 "abcd\n" 和 用反引号包裹 abcd\n` 。用双引号包裹的字符串可以识别转义字符(即输出 abcd 后会换行),用反引号包裹的字符串则以原生形式输出,包括换行和特殊字符(即输出 abcd\n ),可以实现防止攻击、输出源代码等效果。

以上内容来源于网络,并加上自己的实践和理解,如有错误的地方,请在评论区指正。

本篇内容来自 [菜鸟教程] https://www.runoob.com/go/go-data-types.html

上一篇 [GoLang - 基础语法] https://www.jianshu.com/p/0c815bed6abe


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK