📜  Go-数据类型(1)

📅  最后修改于: 2023-12-03 15:15:21.505000             🧑  作者: Mango

Go 数据类型

Go 是一门强类型的编程语言,它有一系列内置的数据类型,包括基本数据类型和复合数据类型。这些数据类型可以用于定义变量、函数参数和返回值。在本文中,我们将介绍 Go 中常见的数据类型以及它们的用法。

基本数据类型

Go 中的基本数据类型包括整数类型、浮点数类型、布尔类型和字符串类型。

整数类型

Go 中的整数类型有 int8int16int32int64uint8uint16uint32uint64 等。

var i1 int8 = -128
var i2 int16 = 32767
var i3 int32 = 2147483647
var i4 int64 = 9223372036854775807
var u1 uint8 = 255
var u2 uint16 = 65535
var u3 uint32 = 4294967295
var u4 uint64 = 18446744073709551615
浮点数类型

Go 中的浮点数类型有 float32float64

var f1 float32 = 3.1415926
var f2 float64 = 3.14159265358979323846264338327950288419716939937510582097494459
布尔类型

Go 中的布尔类型只有两个值:truefalse

var b1 bool = true
var b2 bool = false
字符串类型

Go 中的字符串类型是一种不可变类型,它由一系列 Unicode 字符组成。

var s1 string = "hello, world"
var s2 string = `hello, 
world`
复合数据类型

Go 中的复合数据类型包括数组类型、切片类型、Map 类型和结构体类型。

数组类型

Go 中的数组类型是一种固定长度的、同类型的数据结构。数组长度在声明时已确定,并且不允许改变。

var a1 [5]int = [5]int{1, 2, 3, 4, 5}
var a2 [5]int = [...]int{1, 2, 3, 4, 5}
var a3 [3][3]int = [...][3]int{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
切片类型

Go 中的切片类型是一种动态数组,可以用来实现类似于动态数组或链表的数据结构。切片本质上是一个结构体,包含了一个指向底层数组的指针、切片长度和切片容量。

var s1 []int = []int{1, 2, 3, 4, 5}
var s2 []int = make([]int, 5, 10)
Map 类型

Go 中的 Map 类型是一种哈希表结构,用于存储键值对。

var m1 map[string]int = map[string]int{"one": 1, "two": 2, "three": 3}
var m2 map[int]string = make(map[int]string)
结构体类型

Go 中的结构体类型是一种自定义的数据类型,用于表示一个类似于数据库表中的一条记录的数据结构。结构体可以包含各种基本数据类型和复合数据类型,也可以包含其他结构体类型的成员变量。

type Person struct {
    name string
    age  int
}
var p1 Person = Person{name: "Tom", age: 18}
var p2 Person = Person{"Tom", 18}

以上就是 Go 中常见的数据类型,我们可以根据不同的业务需求来选择合适的数据类型。