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

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

PHPz
PHPzasal
2023-04-27 09:08:30883semak imbas

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 类型的切片

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

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]

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]

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]

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]

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!

Kenyataan:
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