Go 编程语言的基础知识(二)
2023-12-12 00:52:14
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 是一个内置函数,可以用来初始化数据结构。