fengchun_yuan 2 년 전
부모
커밋
d4818a809d
1개의 변경된 파일52개의 추가작업 그리고 0개의 파일을 삭제
  1. 52 0
      Go语言核心36讲/07/main.go

+ 52 - 0
Go语言核心36讲/07/main.go

@@ -0,0 +1,52 @@
+//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}
+	*/
+}