Go为我们提供了所有的基本数据类型,我们应该了解如何在我们自己的Go程序中使用这些类型。数据类型Go语言将数据类型分为四类:BasicTypes(基本类型)、AggregateTypes(复合类型)、ReferenceTypes(引用类型)和InterfaceTypes(接口类型)。基本类型包括:Number、String和Boolean。布尔值只能是常量true或false。数字类型支持整数和浮点数类型,并支持复数,其中位运算是二进制补码。复合数据类型包括:数组和结构体,通过简单类型的组合来表达更复杂的数据结构。引用类型包括:指针、切片、映射、通道、接口和函数类型。声明引用类型的变量时,创建的变量称为标头值。从技术上讲,字符串也是一种引用类型。为每个引用类型创建的标头值包含一个指向底层数据结构的指针。每个引用类型还包含一组唯一的字段,用于管理底层数据结构。因为标头值被设计成可以复制的,所以永远不需要共享一个引用类型的值。标头值包含一个指针,因此通过复制传递引用类型值的副本实质上是共享底层数据结构。整数我们可以在我们的程序中使用有符号或无符号整数,并且可以指定所需的整数大小。我们为什么要指定您可能要求的大小,好吧,假设您正在尝试优化程序的内存利用率。如果您知道一个数字不会超过某个值,您可以选择适合该值的大小:我们可以通过键入uint或int并在末尾附加int的大小来创建新的整数变量。如果我们想要一个8位无符号整数,那么它看起来像varmyintuint8:应该注意的是,如果你试图给一个int分配一个比它可以处理的更大的值,即:varmyintint8myint=2500Go编译器不会能够运行或构建程序,并将输出2500溢出int8的事实。但是,如果您要在运行时溢出一个整数,您可能会开始看到奇怪的结果。例如,尝试运行这个程序并检查输出:类型转换当涉及到使用具有不同数据类型的多个变量时,您通常必须将各种整数变量转换为int。这将处理从uint8和int16到标准32位或64位带符号整数的转换,从那里您将能够执行加法、乘法和减法。浮点数它们有2种不同的大小,或float32、float64,允许您处理标准int64数据类型无法容纳的大量数据。浮点数的范围限制可以在数学包中找到。常量math.MaxFloat32表示float32可以表示的最大值,约为3.4e38;相应的math.MaxFloat64常量约为1.8e308。它们能表示的最小值分别约为1.4e-45和4.9e-324。float32IEEE-75432位浮点数float64IEEE-75464位浮点数float转换为int如果要将整数转换为float或将float转换为int,可以将变量转换为所需的数据类型来实现。复数还有另一种经常被忽视的数字数据类型,即复数数据类型。这些与浮点数据类型非常相似,有两种不同的大小,您可以选择complex64或complex128。complex6432位实数和虚数complex12864位实数和虚数Boolean让我们看看如何在我们的Go程序中使用它:布尔逻辑?好吧,使用||和&&运算符,我们可以:字符串常量常量是我们在Go语言中最终的基本数据类型。它们允许我们指定在程序执行期间不会改变的不可变值。constmeaningOfLife=42
