📌  相关文章
📜  golang create list - Go 编程语言 - Go 编程语言(1)

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

Golang 创建列表

在 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 中如何创建列表的简要介绍。这些方法都有各自的优缺点,您需要根据需求选择合适的数据结构。