Rumah > pembangunan bahagian belakang > Golang > Berapa Banyak Cara Ada untuk Mentakrifkan Slice Kosong dalam Go?

Berapa Banyak Cara Ada untuk Mentakrifkan Slice Kosong dalam Go?

Barbara Streisand
Lepaskan: 2024-12-18 08:17:10
asal
335 orang telah melayarinya

How Many Ways Are There to Define an Empty Slice in Go?

Menentukan Slice Kosong dalam Go

Dalam Go, terdapat berbilang cara untuk menentukan kepingan kosong, termasuk:

  • var foo []int
  • foo := []int{}
  • foo := make([]int, 0)

Perbezaan

  • var foo [ ]int memulakan hirisan kepada nilai sifarnya, iaitu sifar. Ini bermakna foo akan menjadi kepingan dengan panjang dan kapasiti sifar, dan sebarang percubaan untuk mengakses atau mengubah suai elemennya akan mengakibatkan ralat.
  • foo := []int{} dan foo := make([ ]int, 0) kedua-duanya memberikan kepingan bukan nol kepada foo. Potongan ini mempunyai panjang dan kapasiti sifar, tetapi penunjuk tatasusunan asasnya ditetapkan kepada alamat yang dikhaskan untuk peruntukan 0-bait.

Persamaan

Tidak kira kaedah yang manakah digunakan, sifat berikut digunakan pada ketiga-tiga pernyataan:

  • Panjang kepingan ialah sifar: len(foo) == 0.
  • Kapasiti kepingan adalah sifar: cap(foo) == 0.
  • Pernyataan tidak memperuntukkan memori.

Penggunaan

Memandangkan len, tutup dan tambah berfungsi dengan kepingan kosong, var foo []int boleh digunakan secara bergantian dengan foo := []int{} dan foo := make([]int, 0) dalam kebanyakan kes.

Pengisytiharan Pembolehubah Pendek

foo := []int{} dan foo := make([]int, 0) juga boleh ditulis sebagai pengisytiharan berubah-ubah dengan pemula:

  • var foo = []int{}
  • var foo = make([]int, 0)

Kesimpulan

Ketiga-tiga kaedah mentakrifkan kepingan kosong biasanya digunakan dalam kod Go. Pilihan kaedah untuk digunakan bergantung pada keperluan khusus kod anda.

Atas ialah kandungan terperinci Berapa Banyak Cara Ada untuk Mentakrifkan Slice Kosong dalam Go?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan