掌握Go語言中常見的資料結構及其使用方法,需要具體程式碼範例
在Go語言中,資料結構是一種組織和儲存資料的方式。掌握常見的資料結構及其使用方法對於開發高效能的程式至關重要。本文將介紹Go語言中常見的資料結構,並提供具體的程式碼範例。
程式碼範例:
package main import "fmt" func main() { // 创建一个长度为5的整数数组 var arr [5]int // 给数组赋值 for i := 0; i < len(arr); i++ { arr[i] = i * i } // 打印数组的值 for _, value := range arr { fmt.Println(value) } }
程式碼範例:
package main import "fmt" func main() { // 创建一个空切片 var slice []int // 给切片添加元素 slice = append(slice, 1) slice = append(slice, 2) slice = append(slice, 3) // 打印切片的容量和长度 fmt.Println("Capacity:", cap(slice)) fmt.Println("Length:", len(slice)) // 打印切片的值 for _, value := range slice { fmt.Println(value) } }
程式碼範例:
package main import "fmt" type Node struct { data int next *Node } type LinkedList struct { head *Node } func (list *LinkedList) add(data int) { newNode := &Node{data: data} if list.head == nil { list.head = newNode } else { current := list.head for current.next != nil { current = current.next } current.next = newNode } } func main() { linkedList := &LinkedList{} linkedList.add(1) linkedList.add(2) linkedList.add(3) current := linkedList.head for current != nil { fmt.Println(current.data) current = current.next } }
程式碼範例:
package main import "fmt" type Stack struct { data []int } func (stack *Stack) push(value int) { stack.data = append(stack.data, value) } func (stack *Stack) pop() int { if len(stack.data) == 0 { return -1 } value := stack.data[len(stack.data)-1] stack.data = stack.data[:len(stack.data)-1] return value } func main() { stack := &Stack{} stack.push(1) stack.push(2) stack.push(3) value := stack.pop() for value != -1 { fmt.Println(value) value = stack.pop() } }
程式碼範例:
package main import "fmt" type Queue struct { data []int } func (queue *Queue) enqueue(value int) { queue.data = append(queue.data, value) } func (queue *Queue) dequeue() int { if len(queue.data) == 0 { return -1 } value := queue.data[0] queue.data = queue.data[1:] return value } func main() { queue := &Queue{} queue.enqueue(1) queue.enqueue(2) queue.enqueue(3) value := queue.dequeue() for value != -1 { fmt.Println(value) value = queue.dequeue() } }
以上程式碼範例涵蓋了Go語言中常見的資料結構及其使用方法。透過學習並掌握這些資料結構,可以提高程式的效率和可讀性。希望本文對您學習Go語言的資料結構有所幫助。
以上是學習在Go語言中使用常見的資料結構及其方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!