Skip to Main Content
Go程序设计语言
book

Go程序设计语言

by 艾伦A. A.多诺万, 布莱恩W. 柯尼汉
August 2021
Beginner to intermediate content levelBeginner to intermediate
450 pages
6h 1m
Chinese
Pearson
Content preview from Go程序设计语言

3.1 整数

Go的数值类型包括了几种不同大小的整数、浮点数和复数。各种数值类型分别有自己的大小,对正负号支持也各异。我们从整数开始。

Go同时具备有符号整数和无符号整数。有符号整数分四种大小:8位、16位、32位、64位,用int8、int16、int32、int64表示,对应的无符号整数是uint8、uint16、unint32、uint64。

此外还有两种类型int和uint。在特定平台上,其大小与原生的有符号整数\无符号整数相同,或等于该平台上的运算效率最高的值。int是目前使用最广泛的数值类型。这两种类型大小相等,都是32位或64位,但不能认为它们一定就是32位,或一定就是64位;即使在同样的硬件平台上,不同的编译器可能选用不同的大小。

rune类型是int32类型的同义词,常常用于指明一个值是Unicode码点(code point)。这两个名称可互换使用。同样,byte类型是uint8类型的同义词,强调一个值是原始数据,而非量值。

最后,还有一种无符号整数uintptr,其大小并不明确,但足以完整存放指针。uintptr类型仅仅用于底层编程,例如在Go程序与C程序库或操作系统的接口界面。第13章介绍unsafe包,将会结合uintptr举例。

int、uint和uintptr都有别于其大小明确的相似类型的类型。就是说,int和int32是不同类型,尽管int天然的大小就是32位,并且int值若要当作int32使用,必须显式转换;反之亦然。

有符号整数以补码表示,保留最高位作为符号位,n位数字的取值范围是-2n-1~2(n-1)-1。无符号整数由全部位构成其非负值,范围是0~2n-1。例如,int8可以从-128到127取值,而unit8从0到255取值。

Go的二元操作符涵盖了算术、逻辑和比较等运算。按优先级的降序排列如下: ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普
Go语言编程

Go语言编程

威廉·肯尼迪

Publisher Resources

ISBN: 9787111558422