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