📅  最后修改于: 2023-12-03 15:15:22.007000             🧑  作者: Mango
在 Golang 编程语言中,我们可以使用以下几种方法来创建列表:
数组是具有固定长度的数据结构,可以存储一组相同类型的数据。
您可以使用以下语法来定义一个数组:
var array_name [n]type
其中 array_name
是你想要给数组起的名称,n
是数组的长度,type
是数组要存储的数据类型。
例如,以下代码定义了一个长度为 5
,包含 int
类型数据的数组:
var numbers [5]int
以下是初始化数组的两种方法:
var numbers = [5]int{1, 2, 3, 4, 5} // 直接将值赋给数组
var numbers = [5]int{1, 2, 3} // 将数组的前 3 个元素初始化为 1,2,3,其余为 0
您可以使用以下语法来访问数组的元素:
array_name[index]
其中 array_name
是你定义的数组名称,index
是你想要访问的元素位置。
例如,以下代码将访问数组中的第三个元素:
numbers[2]
切片是一种动态长度的、可以向其中追加元素的数据结构。
您可以使用以下语法来定义一个切片:
var slice_name []type
其中 slice_name
是你想要给切片起的名称,type
是切片要存储的数据类型。
例如,以下代码定义了一个类型为 int
的切片:
var numbers []int
以下是初始化切片的两种方法:
var numbers = []int{1, 2, 3, 4, 5} // 直接将值赋给切片
make
函数初始化var numbers = make([]int, 5) // 创建一个长度为 5 的 int 类型切片
您可以使用以下语法来访问切片的元素:
slice_name[index]
其中 slice_name
是你定义的切片名称,index
是你想要访问的元素位置。
例如,以下代码将访问切片中的第三个元素:
numbers[2]
使用内置函数 append
可以向切片中追加元素。
以下是向切片中追加元素的语法:
slice_name = append(slice_name, element)
其中 slice_name
是你定义的切片名称,element
是你想要追加的元素。
例如,以下代码将向切片中追加元素 1
:
numbers = append(numbers, 1)
链表是由一组数据元素组成的数据结构,其中每个元素都包含了下一个元素的地址。
在使用链表之前需要定义节点。您可以使用以下语法来定义一个节点:
type Node struct {
value int // 节点的值
next *Node // 指向下一个节点的指针
}
其中 value
是节点的值,next
是指向下一个节点的指针。
创建链表需要定义一个头节点,该节点的 next
指针为 nil
。
以下是创建链表的代码:
func CreateLinkedList() *Node {
head := &Node{value: 0, next: nil}
return head
}
以下是向链表中插入节点的代码:
func InsertNode(head *Node, value int) {
node := &Node{value: value, next: nil}
p := head
for p.next != nil {
p = p.next
}
p.next = node
}
其中 head
是链表的头节点,value
是要插入的节点的值。
以下是遍历链表的代码:
func TraverseLinkedList(head *Node) {
p := head
for p != nil {
fmt.Printf("%d ", p.value)
p = p.next
}
}
其中 head
是链表的头节点。
这是关于 Golang 中如何创建列表的简要介绍。这些方法都有各自的优缺点,您需要根据需求选择合适的数据结构。