Go 语言数据类型

在 Go 编程语言中,数据类型用于声明函数和变量。

数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。

Go 语言按类别有以下几种数据类型:

序号

类型和描述

1

布尔型布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。

2

数字类型整型 int 和浮点型 float,Go 语言支持整型和浮点型数字,并且原生支持复数,其中位的运算采用补码。

3

字符串类型:字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。Go语言的字符串的字节使用UTF-8编码标识Unicode文本。

4

派生类型:包括:(a) 指针类型(Pointer)(b) 数组类型(c) 结构化类型(struct)(d) 联合体类型 (union)(e) 函数类型(f) 切片类型(g) 接口类型(interface)(h) Map 类型(i) Channel 类型

  • (a) 指针类型(Pointer)
  • (b) 数组类型
  • (c) 结构化类型(struct)
  • (d) 联合体类型 (union)
  • (e) 函数类型
  • (f) 切片类型
  • (g) 接口类型(interface)
  • (h) Map 类型
  • (i) Channel 类型

数字类型

Go 也有基于架构的类型,例如:int、uint 和 uintptr。

序号

类型和描述

1

uint8无符号 8 位整型 (0 到 255)

2

uint16无符号 16 位整型 (0 到 65535)

3

uint32无符号 32 位整型 (0 到 4294967295)

4

uint64无符号 64 位整型 (0 到 18446744073709551615)

5

int8有符号 8 位整型 (-128 到 127)

6

int16有符号 16 位整型 (-32768 到 32767)

7

int32有符号 32 位整型 (-2147483648 到 2147483647)

8

int64有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)

浮点型:

序号

类型和描述

1

float32IEEE-754 32位浮点型数

2

float64IEEE-754 64位浮点型数

3

complex6432 位实数和虚数

4

complex12864 位实数和虚数


其他数字类型

以下列出了其他更多的数字类型:

序号

类型和描述

1

byte类似 uint8

2

rune类似 int32

3

uint32 或 64 位

4

int与 uint 一样大小

5

uintptr无符号整型,用于存放一个指针

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2016-07-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏武培轩的专栏

Leetcode#557. Reverse Words in a String III(反转字符串中的单词 III)

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

8430
来自专栏chenjx85的技术专栏

leetcode-80-删除排序数组中的重复项 II

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。

14910
来自专栏柠檬先生

你不知道的javaScript笔记(4)

类型: JavaScript 有7种内置类型 空值 (null) 未定义(undefined) 布尔值(boolean) 数字(number) 字符串(stri...

22850
来自专栏CRPER折腾记

JS数组去重!!!一篇不怎么靠谱的"深度"水文

数组去重,这是一个老梗了...今天我又拿出来说了... 我们在考虑全面一点的情况下,数组去重的实现,比如针对NaN,undefined,{}; 这其中涉及的知识...

11540
来自专栏jojo的技术小屋

原 三、基本概念

作者:汪娇娇 时间:2017年11月4日 一、语法 1、区分大小写 2、标识符 指变量、函数、属性的名字,采用驼峰大小写格式。 3、注释 单行:// 多行:/*...

26450
来自专栏Java3y

Java实现单向链表

一、前言 最近在回顾数据结构与算法,有部分的算法题用到了栈的思想,说起栈又不得不说链表了。数组和链表都是线性存储结构的基础,栈和队列都是线性存储结构的应用~ 本...

74680
来自专栏用户2442861的专栏

Java中如何遍历Map对象的4种方法

既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtabl...

13410
来自专栏noteless

[三]基础数据类型之Integer详解

23930
来自专栏null的专栏

LeetCode——Two Sum

题目: Given an array of integers, find two numbers such that they add up to a spec...

32750
来自专栏LanceToBigData

Java常用类(四)之数组工具类Arrays

前言   数组的工具类java.util.Arrays   由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而...

28470

扫码关注云+社区

领取腾讯云代金券