下面是一个简单的 glist 基本使用的示例,演示了如何创建链表、插入元素、删除元素等基本操作:
package main

import (
"fmt"
"github.com/gogf/gf/container/glist"
)

func main() {
// 创建一个新的链表
list := glist.New()

// 在链表头部插入元素
list.PushFront("apple")

// 在链表尾部插入元素
list.PushBack("banana")

// 在指定元素之前插入元素
list.InsertBefore("orange", "banana")

// 在指定元素之后插入元素
list.InsertAfter("grape", "banana")

// 打印链表中的元素
fmt.Println("List elements:", list.Slice())

// 获取链表的第一个元素
firstElement := list.Front()
fmt.Println("First element:", firstElement)

// 获取链表的最后一个元素
lastElement := list.Back()
fmt.Println("Last element:", lastElement)

// 获取链表中元素的个数
length := list.Len()
fmt.Println("Length:", length)

// 删除指定元素
list.Remove("banana")

// 删除指定索引处的元素
list.RemoveIndex(1)

// 删除第一个元素
list.RemoveFirst()

// 删除最后一个元素
list.RemoveLast()

// 打印删除元素后的链表
fmt.Println("List after removals:", list.Slice())

// 判断链表是否为空
isEmpty := list.Empty()
fmt.Println("Is empty:", isEmpty)

// 将指定元素移动到链表的开头
list.MoveToFront("grape")

// 将指定元素移动到链表的末尾
list.MoveToBack("orange")

// 打印移动元素后的链表
fmt.Println("List after moving elements:", list.Slice())

// 对链表中的每个元素执行指定函数
list.ForEach(func(value interface{}) {
fmt.Println("Processing element:", value)
})
}

请注意,这只是一个基本示例,glist 还提供了其他更复杂的操作和方法。更多详细信息和用法可以参考 GoFrame 官方文档中 glist 的部分:[GoFrame 官方文档 - glist](https://goframe.org/pages/viewpage.action?pageId=1114503)。


转载请注明出处:http://www.zyzy.cn/article/detail/7707/GoFrame