Rumah > pembangunan bahagian belakang > Golang > Mari kita bincangkan tentang cara menggunakan fungsi menghiris dan menambahkan() Golang

Mari kita bincangkan tentang cara menggunakan fungsi menghiris dan menambahkan() Golang

PHPz
Lepaskan: 2023-04-27 10:44:02
asal
934 orang telah melayarinya

Dalam kepingan Golang, append() ialah fungsi yang sangat penting dan fungsi yang sangat kerap digunakan. Artikel ini akan memperkenalkan cara menggunakan fungsi menghiris dan menambahkan() Golang.

1. Menghiris Golang

Berbanding dengan tatasusunan, menghiris mempunyai fungsi yang lebih berkuasa di Golang. Sesuatu hirisan berbeza daripada tatasusunan kerana panjangnya boleh berubah secara dinamik. Dalam Golang, hirisan ialah jenis rujukan yang menunjuk kepada tatasusunan asas Apabila kapasiti hirisan tidak mencukupi, saiz hirisan akan ditingkatkan secara automatik mengikut keperluan.

Cara untuk mentakrifkan hirisan adalah seperti berikut:

var s1 []int // []int 表示定义了一个 int 类型的切片
Salin selepas log masuk

Panjang dan kapasiti s1 pada masa ini adalah kedua-duanya 0 kerana tatasusunan asas tidak ditentukan.

Sekeping dengan panjang 5 dan kapasiti 10 boleh dilaksanakan menggunakan fungsi make():

s2 := make([]int, 5, 10) // 长度为 5,容量为 10
Salin selepas log masuk

slice[index] boleh mengakses elemen dalam kepingan, yang pada asasnya adalah elemen dalam tatasusunan asas. slice[start:end] boleh mendapatkan sub-slices dari mula (inklusif) hingga akhir (eksklusif). Contohnya:

a := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
fmt.Println(a[3])    // 4
fmt.Println(a[1:5])  // [2 3 4 5]
fmt.Println(a[:5])   // [1 2 3 4 5]
fmt.Println(a[5:])   // [6 7 8 9 10]
fmt.Println(a[:])    // [1 2 3 4 5 6 7 8 9 10]
Salin selepas log masuk

2. fungsi append()

fungsi append() boleh menambah elemen pada penghujung kepingan dan mengembalikan kepingan baharu. Fungsi append() mempunyai kegunaan berikut.

1. Tambahkan elemen pada penghujung kepingan

Kod berikut menambah elemen pada s1 dan menghasilkan kepingan baharu:

s1 := []int{1, 2, 3, 4, 5}
s2 := append(s1, 6, 7)
fmt.Println(s1) // [1 2 3 4 5]
fmt.Println(s2) // [1 2 3 4 5 6 7]
Salin selepas log masuk

Nota: Gunakan fungsi append() Apabila menambah elemen pada kepingan, tatasusunan pendasar tidak diubah jika kapasiti tidak melebihi dan tatasusunan pendasar baharu dijana jika melebihi kapasiti.

2. Tambahkan satu kepingan pada kepingan lain

Kod berikut menambah elemen s2 kepada s1, menghasilkan kepingan baharu:

s1 := []int{1, 2, 3, 4, 5}
s2 := []int{6, 7}
s3 := append(s1, s2...)
fmt.Println(s1) // [1 2 3 4 5]
fmt.Println(s2) // [6 7]
fmt.Println(s3) // [1 2 3 4 5 6 7]
Salin selepas log masuk

Nota: Apabila menggunakan append() berfungsi untuk menambah satu kepingan kepada kepingan lain, anda perlu menambah tiga titik (...) selepas s2, yang bermaksud bahawa s2 terbelah dan unsur-unsur dikeluarkan.

3 Hasilkan kepingan baharu melalui append()

Kod berikut mencipta kepingan s1 dengan panjang 0 dan kapasiti 0, dan kemudian menambah elemen padanya:

var s1 []int
s1 = append(s1, 1)
s1 = append(s1, 2, 3)
fmt.Println(s1) // [1 2 3]
Salin selepas log masuk

Fungsi append() akan mengembalikan kepingan yang baru dijana Jika panjang kepingan asal tidak mencukupi, tatasusunan baharu akan dibuat, jadi fungsi append() boleh digunakan apabila panjang kepingan ialah 0.

3. Ringkasan

Melalui pengenalan artikel ini, kami telah mengetahui tentang penggunaan fungsi penghirisan dan penambahan() Golang. Menghiris adalah sangat penting di Golang dan digunakan dengan sangat kerap dalam pembangunan sebenar Ia adalah sangat penting bagi pembangun Golang untuk menguasai penggunaan asas penghirisan. Apabila menggunakan fungsi append(), anda perlu memberi perhatian kepada nilai pulangannya, dan anda perlu memberi perhatian khusus untuk menggunakan operator ... untuk membelah satu kepingan dan menambahnya pada kepingan lain.

Atas ialah kandungan terperinci Mari kita bincangkan tentang cara menggunakan fungsi menghiris dan menambahkan() Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan