Tajuk: Dari Permulaan Hingga Penguasaan: Pelaksanaan Kod Struktur Data Yang Biasa Digunakan dalam Bahasa Go
Struktur data memainkan peranan penting dalam pengaturcaraan dan merupakan asas pengaturcaraan. Dalam bahasa Go, terdapat banyak struktur data yang biasa digunakan, dan menguasai pelaksanaan struktur data ini adalah penting untuk menjadi seorang pengaturcara yang baik. Artikel ini akan memperkenalkan struktur data yang biasa digunakan dalam bahasa Go dan memberikan contoh kod yang sepadan untuk membantu pembaca daripada mula menjadi mahir dalam struktur data ini.
Tatasusunan ialah struktur data asas, iaitu satu set elemen daripada jenis yang sama. Dalam bahasa Go, panjang tatasusunan ditetapkan. Berikut ialah contoh pengisytiharan dan penggunaan tatasusunan integer mudah:
package main import "fmt" func main() { var arr [5]int arr[0] = 1 arr[1] = 2 arr[2] = 3 arr[3] = 4 arr[4] = 5 fmt.Println(arr) // 打印数组 // 遍历数组 for i := 0; i < len(arr); i++ { fmt.Printf("%d ", arr[i]) } }
Slice ialah struktur data berasaskan tatasusunan yang boleh menambah atau mengurangkan panjang secara dinamik. Berikut ialah contoh pengisytiharan dan penggunaan hirisan integer mudah:
package main import "fmt" func main() { var slice []int slice = append(slice, 1) slice = append(slice, 2, 3, 4, 5) fmt.Println(slice) // 打印切片 // 遍历切片 for _, value := range slice { fmt.Printf("%d ", value) } }
Barisan ialah struktur data masuk dahulu, keluar dahulu (FIFO). Berikut ialah contoh pelaksanaan baris gilir integer mudah:
package main import "fmt" type Queue struct { items []int } func (q *Queue) Enqueue(item int) { q.items = append(q.items, item) } func (q *Queue) Dequeue() int { if len(q.items) == 0 { return -1 } item := q.items[0] q.items = q.items[1:] return item } func main() { queue := Queue{} queue.Enqueue(1) queue.Enqueue(2) queue.Enqueue(3) fmt.Println(queue.Dequeue()) // 输出1 fmt.Println(queue.Dequeue()) // 输出2 }
Timbunan ialah struktur data masuk dahulu (LIFO). Berikut ialah contoh pelaksanaan mudah tindanan integer:
package main import "fmt" type Stack struct { items []int } func (s *Stack) Push(item int) { s.items = append(s.items, item) } func (s *Stack) Pop() int { if len(s.items) == 0 { return -1 } item := s.items[len(s.items)-1] s.items = s.items[:len(s.items)-1] return item } func main() { stack := Stack{} stack.Push(1) stack.Push(2) stack.Push(3) fmt.Println(stack.Pop()) // 输出3 fmt.Println(stack.Pop()) // 输出2 }
Dengan mengkaji kod contoh di atas, pembaca boleh secara beransur-ansur menguasai pelaksanaan struktur data yang biasa digunakan dalam bahasa Go, daripada kemasukan kepada kecekapan dan meningkatkan kemahiran pengaturcaraan mereka. Harap artikel ini membantu anda!
Atas ialah kandungan terperinci Daripada pemula hingga mahir: Pelaksanaan kod struktur data yang biasa digunakan dalam bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!