返回

Go 编程语言的基础知识(二)

后端

Go 编程语言基础知识(二)

在上一篇文章中,我们介绍了 Go 编程语言的基础知识,包括变量、常量、数据类型、运算符和流程控制语句。在本文中,我们将继续介绍 Go 编程语言的基础知识,包括数组、切片、映射这三种数据结构,以及使用 new 和 make 这两种不同的方法进行初始化。

数组

数组是一种固定长度的数据结构,可以存储相同类型的值。数组的元素是连续存储在内存中的,因此数组的访问速度非常快。

要声明一个数组,可以使用以下语法:

var arrayName [size]type

其中,arrayName 是数组的名称,size 是数组的大小,type 是数组元素的类型。

例如,以下代码声明了一个包含 5 个 int 元素的数组:

var numbers [5]int

要访问数组中的元素,可以使用以下语法:

arrayName[index]

其中,index 是要访问的元素的索引。

例如,以下代码访问数组 numbers 中的第一个元素:

firstNumber := numbers[0]

切片

切片是一种动态长度的数据结构,可以存储相同类型的值。切片与数组非常相似,但切片的大小是可以改变的。

要声明一个切片,可以使用以下语法:

var sliceName []type

其中,sliceName 是切片的名称,type 是切片元素的类型。

例如,以下代码声明了一个包含 int 元素的切片:

var numbers []int

要访问切片中的元素,可以使用以下语法:

sliceName[index]

其中,index 是要访问的元素的索引。

例如,以下代码访问切片 numbers 中的第一个元素:

firstNumber := numbers[0]

映射

映射是一种将键映射到值的的数据结构。映射中的键和值都可以是任意类型。

要声明一个映射,可以使用以下语法:

var mapName map[keyType]valueType

其中,mapName 是映射的名称,keyType 是映射中键的类型,valueType 是映射中值的类型。

例如,以下代码声明了一个将字符串映射到整数的映射:

var stringToIntMap map[string]int

要访问映射中的值,可以使用以下语法:

mapName[key]

其中,key 是要访问的值的键。

例如,以下代码访问映射 stringToIntMap 中的 "one" 键对应的值:

value := stringToIntMap["one"]

使用 new 和 make 进行初始化

new 和 make 是两种不同的方法,可以用来初始化数据结构。

new 是一个内置函数,可以用来分配内存并返回一个指向该内存的指针。

make 是一个内置函数,可以用来初始化数据结构。make 可以用来初始化数组、切片和映射。

以下代码使用 new 来分配内存并返回一个指向该内存的指针:

ptr := new(int)

以下代码使用 make 来初始化一个包含 5 个 int 元素的数组:

array := make([]int, 5)

以下代码使用 make 来初始化一个包含 5 个 int 元素的切片:

slice := make([]int, 0, 5)

以下代码使用 make 来初始化一个将字符串映射到整数的映射:

map := make(map[string]int)

总结

在本文中,我们介绍了 Go 编程语言的基础知识,包括数组、切片、映射这三种数据结构,以及使用 new 和 make 这两种不同的方法进行初始化。数组是一种固定长度的数据结构,切片是一种动态长度的数据结构,映射是一种将键映射到值的数据结构。new 是一个内置函数,可以用来分配内存并返回一个指向该内存的指针。make 是一个内置函数,可以用来初始化数据结构。