penggunaan hirisan golang

WBOY
Lepaskan: 2023-05-16 15:22:07
asal
677 orang telah melayarinya

Golang ialah bahasa pengaturcaraan yang digunakan secara meluas, dan kesederhanaan serta kecekapannya telah menarik lebih ramai pembangun. Jenis Slice juga merupakan salah satu struktur data yang biasa digunakan di Golang Ia bukan sahaja menyokong pertumbuhan dinamik, tetapi juga melaksanakan operasi penghirisan Artikel ini akan memperkenalkan penggunaan Slice secara terperinci.

1. Apakah Slice?

Di Golang, Slice boleh difahami sebagai tatasusunan dinamik. Berbanding dengan tatasusunan statik, Slice lebih fleksibel dan secara automatik boleh mengembangkan dan mengurangkan kapasiti, menghapuskan sekatan pada saiz kapasiti dan meningkatkan fleksibiliti dan kebolehgunaan semula kod dengan banyak.

Slice mengandungi tiga elemen penting, iaitu penunjuk tatasusunan asas, panjang dan kapasiti. Panjang mewakili bilangan elemen yang disimpan dalam Slice, dan kapasiti mewakili bilangan maksimum elemen yang Slice boleh simpan.

2. Penciptaan dan permulaan Slice

Di Golang, anda boleh mencipta dan memulakannya melalui fungsi make atau terus menggunakan literal Slice.

1 Cipta Slice melalui fungsi buat.

Fungsi make mempunyai tiga parameter iaitu jenis Slice, panjang dan kapasiti. Antaranya, panjang mesti ditentukan, tetapi kapasiti adalah pilihan. Apabila kapasiti tidak ditentukan, kapasiti lalai kepada sama dengan panjang.

Kod contoh:

s := make([]int, 5)      // 创建一个初始值为 0,长度为 5,容量为 5 的 Slice
s := make([]int, 5, 10)  // 创建一个初始值为 0,长度为 5,容量为 10 的 Slice
Salin selepas log masuk

2. Gunakan literal Slice untuk mencipta Slice.

Slice literals disertakan dengan sepasang kurungan segi empat sama, dengan koma memisahkan setiap nilai.

Kod contoh:

s := []int{1, 2, 3, 4, 5} // 创建一个包含 1,2,3,4,5 的 Slice
Salin selepas log masuk

3 Operasi potong

1.

Seperti tatasusunan, elemen dalam Slice boleh diakses menggunakan subskrip.

Kod sampel:

s := []int{1, 2, 3, 4, 5}
fmt.Println(s[0])  // 打印 Slice 中的第一个元素
Salin selepas log masuk

Slice menyokong operasi pengubahsuaian, tetapi perlu diambil perhatian bahawa pengubahsuaian kepada Slice akan menjejaskan tatasusunan asas dan Slice lain yang merujuk tatasusunan asas.

Kod contoh:

s := []int{1, 2, 3, 4, 5}
s[0] = 6 // 将 Slice 中的第一个元素修改为 6
Salin selepas log masuk

2.

Untuk menambahkan elemen pada Slice, anda boleh menggunakan fungsi append terbina dalam Fungsi ini akan mengembalikan Slice baharu, meninggalkan Slice asal tidak berubah.

Kod sampel:

s := []int{1, 2, 3, 4, 5}
s = append(s, 6) // 在 Slice 中追加一个元素 6
Salin selepas log masuk

Memadamkan elemen daripada Slice juga dilaksanakan melalui fungsi tambah dan anda perlu menggunakan operasi penghirisan untuk mengecualikan elemen yang akan dipadamkan.

Kod contoh:

s := []int{1, 2, 3, 4, 5}
s = append(s[:2], s[3:]...) // 删除 Slice 中的第三个元素,这里使用了切片操作
Salin selepas log masuk

3.

Seperti tatasusunan, Slice juga menyokong operasi penghirisan. Menghiris merujuk kepada "memotong" Slice asal, memintas sebahagian daripada elemen berterusan, dan mendapatkan Slice baharu.

Sintaks operasi hirisan ialah hirisan[rendah:tinggi], dengan hirisan mewakili Potongan yang akan dihiris, rendah dan tinggi mewakili kedudukan hirisan, tetapi tidak termasuk unsur tinggi.

Kod sampel:

s := []int{1, 2, 3, 4, 5}
slice := s[1:3] // 返回 [2, 3]
Salin selepas log masuk

4. Pengembangan dan pengurangan kepingan

Apabila menggunakan Slice, kapasiti tatasusunan asas akan menjejaskan kecekapan dan prestasinya. Apabila kapasiti Slice tidak mencukupi, ia perlu dikembangkan apabila kapasiti terlalu besar, ia boleh dikurangkan untuk menjimatkan ruang memori.

Proses pengembangan ialah apabila kapasiti Slice tidak mencukupi, tatasusunan pendasar baharu akan dibuat, dengan panjang dan kapasiti biasanya dua kali ganda daripada asal, dan kemudian semua elemen dalam Slice asal akan menjadi disalin ke tatasusunan baharu.

Kod sampel:

s := make([]int, 5, 10)
s = append(s, 6) // 在 Slice 中追加一个元素 6
Salin selepas log masuk

Proses pengurangan adalah menggunakan operasi penghirisan untuk menentukan panjang tatasusunan asas supaya sama dengan panjang Slice, dengan itu mengurangkan kapasiti.

Kod contoh:

s := []int{1, 2, 3, 4, 5}
s = s[:3] // 缩减 Slice 的容量为 3
Salin selepas log masuk

5 Ringkasan

Artikel ini memperincikan penciptaan, permulaan, akses, pengubahsuaian, tambah, padam, potong, pengembangan dan pengurangan Slice di Golang. Tunggu operasi. Menguasai penggunaan Slice boleh meningkatkan fleksibiliti dan kecekapan kod dengan banyak, dan membantu membangunkan aplikasi bahagian hadapan, bahagian belakang dan mudah alih Golang berkualiti tinggi. Saya berharap melalui pengenalan artikel ini, pembaca akan lebih memahami dan mengaplikasikan jenis Slice di Golang.

Atas ialah kandungan terperinci penggunaan hirisan 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