Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mengagihkan Slice Go secara Merata kepada Berbilang Ketulan?

Bagaimana untuk Mengagihkan Slice Go secara Merata kepada Berbilang Ketulan?

Patricia Arquette
Lepaskan: 2024-12-20 06:41:08
asal
125 orang telah melayarinya

How to Evenly Distribute a Go Slice into Multiple Chunks?

Slice Chunking in Go

Masalah:

Cara mengagihkan kepingan yang diberikan secara sama rata ke dalam beberapa keping masuk Pergi?

Penyelesaian:

Untuk memotong sekeping sama rata, ikuti langkah berikut:

  1. Tentukan saiz ketul dengan membahagikan panjang kepingan asal mengikut bilangan ketulan yang diingini.
  2. Mulakan sekeping kepingan untuk menyimpan kepingan kepingan.
  3. Lelar ke atas kepingan asal, tambahkan kepingan saiz yang ditentukan pada kepingan kepingan.
  4. Laraskan indeks akhir bahagian terakhir untuk memastikan semua elemen disertakan.

Berikut ialah versi semakan kod yang disediakan dalam soalan:

var divided [][]string

chunkSize := (len(logs) + runtime.NumCPU - 1) / runtime.NumCPU

for i := 0; i < len(logs); i += chunkSize {
    end := i + chunkSize

    if end > len(logs) {
        end = len(logs)
    }

    divided = append(divided, logs[i:end])
}
Salin selepas log masuk

Kod yang dikemas kini ini mencipta hirisan ketulan teragih sama rata dengan menambahkan subset hirisan asal pada hirisan hirisan. Saiz ketulan dikira untuk memastikan semua elemen diagihkan sekata yang mungkin.

Atas ialah kandungan terperinci Bagaimana untuk Mengagihkan Slice Go secara Merata kepada Berbilang Ketulan?. 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