Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Melaksanakan Baris Gilir FIFO dengan Cekap dalam Go Menggunakan Slices?
Pelaksanaan Baris Gilir dalam Go
Apabila mempertimbangkan struktur data untuk melaksanakan baris gilir masuk dahulu, keluar dahulu (FIFO) dalam Go, bekas asli adalah pilihan semula jadi. Go menyediakan tiga bekas utama: timbunan, senarai dan vektor. Walau bagaimanapun, untuk baris gilir yang mudah dan cekap, tiada satu pun daripada ini sesuai sepenuhnya.
Sebaliknya, slice menawarkan penyelesaian yang sesuai. A slice ialah tatasusunan dinamik yang boleh diubah saiz yang menyokong operasi baris gilir dengan lancar:
Berikut ialah coretan kod yang menunjukkan perkara ini pelaksanaan:
package main import "fmt" func main() { queue := make([]int, 0) // Push to the queue queue = append(queue, 1) // Top (just get next element, don't remove it) x := queue[0] // Discard top element queue = queue[1:] // Is empty ? if len(queue) == 0 { fmt.Println("Queue is empty !") } }
Menggunakan slice adalah mudah dan menyediakan fungsi yang diperlukan untuk baris gilir FIFO, tanpa overhed mengurus penunjuk atau logik tersuai. Ia disyorkan untuk pelaksanaan baris gilir asas dan cekap dalam Go.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Baris Gilir FIFO dengan Cekap dalam Go Menggunakan Slices?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!