Maison > développement back-end > Golang > le corps du texte

Comment définir la longueur de la tranche sous forme de tableau dans Golang ?

WBOY
Libérer: 2024-02-08 21:45:24
avant
345 Les gens l'ont consulté

Comment définir la longueur de la tranche sous forme de tableau dans Golang ?

Dans Golang, les tranches et les tableaux sont deux types de données différents. Une tranche est une séquence de longueur dynamique, tandis qu'un tableau est une séquence de longueur fixe. Si vous souhaitez définir la longueur d'une tranche sous forme de tableau, vous pouvez le faire en créant un tableau de longueur fixe, puis en utilisant la tranche pour référencer ce tableau. L'opération spécifique consiste à créer d'abord un tableau de longueur spécifiée, puis à utiliser une tranche pour référencer une partie des éléments du tableau, afin que la longueur de la tranche puisse être définie comme la longueur du tableau. Cette approche peut simuler le comportement d’un tableau dans une certaine mesure, tout en tirant parti de la flexibilité du découpage. J'espère que cette courte réponse vous aidera !

Contenu de la question

J'ai un tableau de tranches et je souhaite définir la longueur des tranches car lorsque j'essaie de démarrer le code, je panique :

panic: runtime error: index out of range [0] with length 0
Copier après la connexion

Code :

func Transpose(m [][]int) [][]int{
    arr := make([][]int, len(m))

    for i:=0; i <len(arr); i++ {
        for j:=0; j<len(arr); j++ {
            arr[j][i] = m[i][j]
        }
    }
    
return arr
}
Copier après la connexion

Solution de contournement

Le problème est que vous n'avez pas initialisé chaque tranche interne. arr := make([][]int, len(m)) 仅初始化 arr La boucle extérieure du découpage.

func Transpose(m [][]int) [][]int {
    arr := make([][]int, len(m))

    for i := 0; i < len(m); i++ {

        arr[i] = make([]int, len(m[i]))

        for j := 0; j < len(m[i]); j++ {
            arr[i][j] = m[j][i]
        }
    }

    return arr
}
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:stackoverflow.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!