12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- //https://books.studygolang.com/The-Golang-Standard-Library-by-Example/chapter03/03.3.html
- package main
- import (
- "container/list"
- "fmt"
- "reflect"
- )
- func main() {
- fmt.Println("hello")
- // insertPushList()
- listAddrness()
- }
- func insertPushList() {
- // 创建一个新的链表,并向链表里面添加几个数字
- l := list.New()
- fmt.Println(l)
- e4 := l.PushBack(4)
- fmt.Println("e4", e4.Value, &e4, e4)
- e1 := l.PushFront(1)
- fmt.Println("e1", e1.Value, &e1, e1)
- l.InsertBefore(3, e4)
- l.InsertAfter(2, e1)
- // 遍历链表并打印它包含的元素
- for e := l.Front(); e != nil; e = e.Next() {
- fmt.Println("e", e.Value, e, reflect.TypeOf(e))
- }
- var test list.List
- test.PushBack(99)
- // fmt.Println(&(test.Front().Value), test.Front())
- }
- func listAddrness() {
- l := list.New()
- l.PushBack(1)
- l.PushBack(2)
- l.PushBack(3)
- l.PushBack(4)
- l.PushBack(5)
- l.PushBack(6)
- for e := l.Front(); e != nil; e = e.Next() {
- fmt.Println("e", e.Value, e, reflect.TypeOf(e))
- }
- /*
- e 的内容 (结构体取地址)
- &{0xc0000744e0 0xc000074480 0xc000074480 1}
- &{next元素指针 prev元素指针 元素所在链表指针 1}
- */
- }
|