Maison >développement back-end >Golang >Pourquoi mon programme Go affiche-t-il une erreur « non définie » lors de l'appel d'une fonction dans un fichier séparé ?

Pourquoi mon programme Go affiche-t-il une erreur « non définie » lors de l'appel d'une fonction dans un fichier séparé ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-17 16:17:09405parcourir

Why Does My Go Program Show an

Ambiguïté de la fonction du programme Go résolue

Dans une tentative d'évoquer une fonction définie dans un fichier séparé, un programme Go a rencontré un message "indéfini" erreur. Le code suivant illustre le scénario :

Code source

main.go

package main

func main() {
    emp := NewEmployee()  // Undefined error
}

employee.go

package main

type Employee struct {
    name string
    age int
}  

func NewEmployee() *Employee {
    // Employee struct and function definitions
}

func PrintEmployee (p *Employee)  {
    // Function definitions
}

Erreur

Lors de l'exécution du programme, l'erreur suivante est renvoyé :

undefined: NewEmployee

Solution

L'erreur provient de techniques de gestion de fichiers inappropriées. Pour résoudre ce problème :

  • Utilisez go build ou go install dans le répertoire du package.
  • Vous pouvez également fournir un chemin d'importation pour le package.

Éviter en utilisant des arguments de fichier pour go build ou go install. Pour go run, bien que des arguments de fichier puissent être utilisés, il est généralement conseillé de construire un package en utilisant go run .. Alternativement, optez pour go install ou go build.

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