Passer un tableau comme argument dans golang

user1721803:

Pourquoi ça ne marche pas?

package main

import "fmt"

type name struct {
    X string
}

func main() {
    var a [3]name
    a[0] = name{"Abbed"}
    a[1] = name{"Ahmad"}
    a[2] = name{"Ghassan"}

    nameReader(a)
} 

func nameReader(array []name) {
    for i := 0; i < len(array); i++ {
        fmt.Println(array[i].X)
    }
}

Erreur:

.\structtest.go:15: cannot use a (type [3]name) as type []name in function argument
James Henstridge:

Vous avez défini votre fonction pour accepter une tranche comme argument, pendant que vous essayez de passer un tableau lors de l'appel à cette fonction. Il existe deux façons de résoudre ce problème:

  1. Créez une tranche hors du tableau lors de l'appel de la fonction. Changer l'appel comme ça devrait suffire:

    nameReader(a[:])
    
  2. Modifiez la signature de la fonction pour prendre un tableau au lieu d'une tranche. Par exemple:

    func nameReader(array [3]name) {
        ...
    }
    

    Les inconvénients de cette solution sont que la fonction ne peut désormais accepter qu'un tableau de longueur 3, et une copie du tableau sera faite lors de son appel.

Vous pouvez trouver plus de détails sur les tableaux et les tranches, et les pièges courants lors de leur utilisation ici: http://openmymind.net/The-Minimum-You-Need-To-Know-About-Arrays-And-Slices-In-Go /

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Passer un tableau comme argument

Elasticsearch - passer un tableau comme argument dans une requête

passer un tableau à une classe comme argument

Passer un tableau comme argument à une fonction

Passer un tableau comme argument en Python

Tableau de fonctions à comme argument dans Golang

Passer "* ()" comme argument à un programme dans bash

Impossible de passer un tableau comme argument dans la méthode find

Comment passer un tableau à 2 dimensions comme argument de fonction dans Go?

comment passer un tableau rapide comme argument UnsafePointer <T> dans une fonction

Passer un tableau de chaînes comme argument d'entrée dans une fonction

Comment passer un tableau json comme argument de fonction dans postgresql 9.6

Passer le tableau comme argument dans le pipelie Jenkins

passer un tableau Integer ou String comme argument en java

Passer un tableau (variable) comme argument de modèle

Passer un argument vide comme index de tableau

Comment passer correctement un tableau comme argument de fonction?

Passer un tableau d'une structure comme argument à une fonction

Passer un tableau comme argument à une fonction en C

Passer une partie d'un tableau comme argument de fonction

Fonction qui accepte un tableau de taille arbitraire comme argument (est-ce possible dans Golang?)

passer un tableau comme argument de fonction à setTimeout n'agit pas comme passer une variable

Comment produire un tableau de caractères dans ctypes et passer son pointeur comme argument de fonction

Passer Array comme argument dans un script batch

comment passer le groupe actuel comme argument dans un groupby?

Passer un pointeur à struct comme argument dans Julia

Python: passer un tuple comme argument dans une fonction

Passer un tas comme argument

Passer un tableau javascript comme accessoire dans ReactJs

TOP liste

  1. 1

    comment afficher un bouton au-dessus d'un autre élément ?

  2. 2

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  3. 3

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

  4. 4

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  5. 5

    Conversion double en BigDecimal en Java

  6. 6

    Impossible d'accéder à la vue personnalisée pendant le test de l'interface utilisateur dans XCode

  7. 7

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  8. 8

    Passer la taille d'un tableau 2D à une fonction ?

  9. 9

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  10. 10

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  11. 11

    CSS: before ne fonctionne pas sur certains éléments,: after fonctionne très bien

  12. 12

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  13. 13

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  14. 14

    Exporter la table de l'arborescence vers CSV avec mise en forme

  15. 15

    Comment activer le message Pylint "too-many-locals" dans VS Code?

  16. 16

    Créer un système Buzzer à l'aide de python

  17. 17

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  18. 18

    Empêcher l'allocation de mémoire dans la génération de combinaison récursive

  19. 19

    Déplacement des moindres carrés d'ajustement pour les déplacements de points ayant des problèmes

  20. 20

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  21. 21

    Microsoft.WebApplication.targets

chaudétiquette

Archive