Maison > développement back-end > Golang > Comment découper efficacement une tranche en un instant ?

Comment découper efficacement une tranche en un instant ?

Linda Hamilton
Libérer: 2024-12-28 10:10:11
original
471 Les gens l'ont consulté

How to Efficiently Chunk a Slice in Go?

Découpage de tranches dans Go

Comme vous l'avez rencontré, le découpage d'une tranche dans Go peut être réalisé en suivant les étapes suivantes :

  1. Déterminez la taille du morceau : Calculez la taille du morceau souhaitée en divisant la longueur de la tranche d'origine en fonction du nombre de processeurs que vous souhaitez utiliser.
  2. Itérer sur la tranche : Utilisez une boucle for pour parcourir la tranche d'origine, en commençant à partir de l'index 0.
  3. Créer une nouvelle tranche : Pour chaque morceau, créez une nouvelle tranche pour stocker le morceau éléments.
  4. Ajouter des morceaux : Ajouter les éléments fragmentés à la nouvelle tranche.
  5. Ajouter à la tranche divisée : Ajouter la tranche nouvellement créée à la tranche divisée, qui contiendra les tranches finales en morceaux.

Voici un exemple mis à jour basé sur votre code :

var divided [][]string

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

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

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

    temp := logs[i:end]  // Create a new slice for the chunk
    divided = append(divided, temp)  // Append the chunk to the divided slice
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal