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 :
-
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.
-
Itérer sur la tranche : Utilisez une boucle for pour parcourir la tranche d'origine, en commençant à partir de l'index 0.
-
Créer une nouvelle tranche : Pour chaque morceau, créez une nouvelle tranche pour stocker le morceau éléments.
-
Ajouter des morceaux : Ajouter les éléments fragmentés à la nouvelle tranche.
-
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
}
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!
Déclaration: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