Golang ialah bahasa pengaturcaraan yang cekap yang mempunyai banyak struktur data untuk digunakan. Antaranya, dalam artikel ini, kita akan belajar cara menggunakan Golang untuk melaksanakan tindanan.
Dalam sains komputer, tindanan ialah struktur data yang penting. Ia adalah struktur storan Pertama Masuk Dahulu (Masuk Dahulu Terakhir), sama seperti longgokan buku Anda hanya boleh mengeluarkannya satu persatu bermula dari buku terakhir. Bagi pengaturcara komputer, timbunan boleh digunakan untuk menyelesaikan masalah berkali-kali.
Kami bermula dengan mentakrifkan operasi asas tindanan. Terdapat dua operasi asas timbunan: tolak dan pop. Operasi tolak menambah elemen pada bahagian atas tindanan, manakala operasi pop mengalih keluar elemen dari bahagian atas tindanan.
Pertama, kita perlu mentakrifkan struktur untuk mewakili timbunan:
type Stack struct { elements []interface{} // 存储元素的切片 size int // 栈的大小 }
Kita dapat melihat bahawa struktur ini mempunyai dua medan: elements
untuk menyimpan kepingan elemen dan size
mewakili saiz timbunan.
Seterusnya kita perlu melaksanakan kaedah struktur ini, termasuk push dan pop. Mula-mula laksanakan kaedah Tolak:
func (stack *Stack) Push(element interface{}) { stack.elements = append(stack.elements, element) stack.size++ }
Kaedah Tekan menerima elemen sebagai parameter dan menambahkannya pada bahagian atas tindanan, dan saiznya juga ditambah satu. Anda boleh melihat bahawa pelaksanaannya adalah sangat mudah Gunakan fungsi append() untuk menambah elemen baharu pada penghujung kepingan elemen.
Seterusnya laksanakan kaedah Pop:
func (stack *Stack) Pop() (interface{}, error) { if stack.size == 0 { return nil, errors.New("stack is empty") } element := stack.elements[stack.size-1] stack.elements = stack.elements[:stack.size-1] stack.size-- return element, nil }
Mula-mula, kita perlu menyemak sama ada tindanan kosong, dan jika ya, kembalikan ralat. Jika tidak, ambil elemen terakhir daripada kepingan, padamkan elemen itu, gunakan penghirisan tatasusunan [:stack.size-1]
dan kembalikan elemen itu.
Kini, kami telah berjaya melaksanakan tindanan menggunakan Golang. Berikut ialah contoh pelaksanaan tindanan lengkap:
package main import ( "errors" "fmt" ) type Stack struct { elements []interface{} size int } func (stack *Stack) Push(element interface{}) { stack.elements = append(stack.elements, element) stack.size++ } func (stack *Stack) Pop() (interface{}, error) { if stack.size == 0 { return nil, errors.New("stack is empty") } element := stack.elements[stack.size-1] stack.elements = stack.elements[:stack.size-1] stack.size-- return element, nil } func main() { stack := Stack{} stack.Push(1) stack.Push(2) stack.Push(3) for i := 0; i < 3; i++ { element, _ := stack.Pop() fmt.Println(element) } }
Dalam contoh ini, kami menggunakan kaedah Push dan Pop yang dilaksanakan di atas. Kaedah Push menambah elemen 1, 2, 3 pada tindanan, manakala kaedah Pop memaparkannya dan mencetaknya ke konsol.
Ringkasan:
Golang ialah bahasa pengaturcaraan yang cekap yang juga mempunyai prestasi cemerlang dalam pelaksanaan struktur data Antaranya, tindanan ialah struktur data yang amat penting untuk dipertimbangkan. Melalui artikel ini, kami telah mempelajari dan melaksanakan susunan Golang yang mudah, saya harap ia dapat membantu kerja pengaturcaraan anda.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan timbunan menggunakan Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!