Rumah  >  Artikel  >  pembangunan bahagian belakang  >  pertambahan susunan golang

pertambahan susunan golang

WBOY
WBOYasal
2023-05-16 10:06:372690semak imbas

Golang ialah bahasa pengaturcaraan yang berkuasa dengan sintaks yang ringkas dan mudah difahami, kelajuan larian yang cekap dan perpustakaan standard yang kaya. Di Golang, tatasusunan ialah jenis data biasa yang membolehkan kita menyimpan berbilang nilai daripada jenis yang sama dalam satu pembolehubah. Walaupun saiz tatasusunan perlu ditentukan apabila ia diisytiharkan, kita boleh menambah elemen pada tatasusunan melalui beberapa helah.

Takrifan asas tatasusunan dalam Golang adalah seperti berikut:

var arrayName [size]dataType

Antaranya, arrayName mewakili nama tatasusunan, saiz mewakili bilangan elemen dalam tatasusunan dan dataType mewakili data jenis elemen tatasusunan. Contohnya, untuk menentukan tatasusunan dengan panjang 5 dan menyimpan elemen jenis integer, anda boleh menggunakan kod berikut:

var intArray [5]int

Seterusnya, kami akan memperkenalkan beberapa kaedah menambah elemen pada tatasusunan Golang.

Gunakan fungsi tambah

Di Golang, kita boleh menggunakan fungsi append untuk menambah elemen secara dinamik pada tatasusunan. appendFungsi ini akan mengembalikan kepingan baharu yang panjangnya akan ditingkatkan secara automatik mengikut keperluan. Berikut ialah kod sampel yang menggunakan fungsi append untuk menambah elemen pada tatasusunan:

package main

import "fmt"

func main() {
  a := []int{1, 2, 3, 4, 5}
  a = append(a, 6)
  fmt.Println(a) // [1 2 3 4 5 6]
}

Dalam kod sampel di atas, kami menggunakan tatasusunan a panjang 5. Kemudian, kami memanggil fungsi append untuk menambah 6 sebagai elemen baharu pada a. Ambil perhatian bahawa parameter pertama fungsi append mestilah kepingan, bukan tatasusunan.

Menggunakan kepingan

Slices ialah jenis data yang sangat berkuasa di Golang, yang boleh menambah, memadam dan mengubah suai tatasusunan dengan mudah. Kita boleh menukar tatasusunan menjadi kepingan dan kemudian menggunakan operasi hirisan untuk menambah elemen padanya. Berikut ialah kod sampel yang menggunakan kepingan untuk menambah elemen tatasusunan:

package main

import "fmt"

func main() {
  a := [5]int{1, 2, 3, 4, 5}
  b := a[:] // 将数组a转换成切片b
  b = append(b, 6)
  fmt.Println(b) // [1 2 3 4 5 6]
}

Dalam kod sampel di atas, kita mula-mula menukar tatasusunan a menjadi kepingan b, dan kemudian gunakan fungsi append ke b Tambah elemen baharu 6.

Gunakan fungsi salin

Fungsi copy dalam Golang boleh menyalin elemen satu tatasusunan atau hirisan ke tatasusunan atau kepingan lain. Kita boleh menggunakan fungsi copy untuk menyalin semua elemen dalam tatasusunan kepada tatasusunan baharu yang lebih besar untuk meningkatkan saiz tatasusunan. Berikut ialah contoh kod yang menggunakan fungsi copy untuk menyalin tatasusunan ke dalam tatasusunan yang lebih besar, sekali gus meningkatkan saiz tatasusunan:

package main

import "fmt"

func main() {
  a := [5]int{1, 2, 3, 4, 5}
  b := [10]int{} // 定义长度为10的新数组b
  copy(b[:], a[:]) // 将a中的元素复制到b中
  fmt.Println(b) // [1 2 3 4 5 0 0 0 0 0]
}

Dalam kod sampel di atas, kami mula-mula menentukan tatasusunan panjang 5 a, dan kemudian buat tatasusunan b panjang 10. Seterusnya, kami menggunakan fungsi copy untuk menyalin elemen dalam a ke b. Memandangkan b lebih besar daripada a, selepas operasi salin selesai, semua elemen dalam b kecuali elemen dalam a akan ditetapkan kepada sifar.

Ringkasnya, terdapat tiga cara utama untuk menambah elemen pada tatasusunan Golang: menggunakan fungsi append, menggunakan menghiris dan menggunakan fungsi copy. Kaedah ini boleh meningkatkan saiz tatasusunan dengan berkesan untuk memenuhi keperluan aplikasi.

Atas ialah kandungan terperinci pertambahan susunan 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
Artikel sebelumnya:penukaran int golangArtikel seterusnya:penukaran int golang