Dalam sains komputer, tindanan ialah struktur data yang penting. Tindanan boleh melaksanakan kaedah akses data "Masuk Dahulu Terakhir" (Masuk Dahulu Terakhir) dengan baik, jadi ia digunakan secara meluas dalam kod.
Bahasa Go (Golang) telah menjadi pilihan ramai pembangun kerana peruntukan memori yang cekap dan mekanisme pengumpulan sampah. Dalam artikel ini, kami akan memperkenalkan cara melaksanakan tindanan mudah menggunakan Golang.
Di Golang, kita boleh menggunakan kepingan untuk melaksanakan tindanan. Keratan ialah tatasusunan dinamik yang panjangnya boleh dilaraskan secara automatik, menjadikannya sangat sesuai untuk struktur data tindanan.
Berikut ialah struktur tindanan ringkas:
type Stack struct { data []int }
data
ialah kepingan yang memegang jenis integer.
Seterusnya, kita boleh menambah tiga kaedah pada struktur: Push
, Pop
dan Peek
. Kaedah Push
digunakan untuk menambah elemen pada tindanan, kaedah Pop
digunakan untuk mengeluarkan elemen daripada tindanan dan kaedah Peek
digunakan untuk mendapatkan elemen di bahagian atas tindanan tanpa mengalih keluar ia.
Kod untuk menambah elemen adalah seperti berikut:
func (s *Stack) Push(n int) { s.data = append(s.data, n) }
Kod untuk memadam elemen adalah seperti berikut:
func (s *Stack) Pop() (int, bool) { if len(s.data) == 0 { return 0, false } lastIdx := len(s.data) - 1 last := s.data[lastIdx] s.data = s.data[:lastIdx] return last, true }
Kod untuk mendapatkan elemen teratas ialah seperti berikut:
func (s *Stack) Peek() (int, bool) { if len(s.data) == 0 { return 0, false } lastIdx := len(s.data) - 1 last := s.data[lastIdx] return last, true }
Di sini kami menggunakan sintaks fungsi yang mengembalikan berbilang nilai untuk mengembalikan hasil yang diperlukan dan pengecam sama ada operasi itu berjaya.
Sekarang, kita boleh mencipta tindanan dan menambah, mengalih keluar dan melihat elemennya dengan cara berikut:
stack := Stack{} stack.Push(1) stack.Push(2) stack.Push(3) val, ok := stack.Peek() if ok { fmt.Println(val) // 3 } val, ok = stack.Pop() if ok { fmt.Println(val) // 3 } val, ok = stack.Pop() if ok { fmt.Println(val) // 2 }
Kod di atas akan mencipta tindanan dan menambah 1, 2, 3 ditambah kepadanya. Kami kemudian akan melihat elemen atas timbunan (3), keluarkan elemen terakhir (3) dan keluarkan elemen terakhir sekali lagi (2).
Melalui artikel ini, kami memperkenalkan struktur tindanan mudah dan cara ia dilaksanakan di Golang. Stack ialah struktur data penting yang digunakan secara meluas dalam pembangunan algoritma dan perisian. Menguasai pengetahuan asas tindanan dan pelaksanaannya dalam Golang akan membantu anda memahami dan menggunakan tindanan dengan lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan timbunan mudah menggunakan Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!