Maison >développement back-end >Golang >Pourquoi ma fonction Go n'est-elle pas définie lorsqu'elle est appelée à partir d'un autre fichier ?

Pourquoi ma fonction Go n'est-elle pas définie lorsqu'elle est appelée à partir d'un autre fichier ?

DDD
DDDoriginal
2024-12-14 10:33:12355parcourir

Why is my Go function undefined when called from a different file?

Fonction non définie définie dans un fichier différent

Vous essayez d'appeler une fonction nommée NewEmployee à partir d'un autre fichier, mais vous recevez un message « non défini " erreur. Cette erreur est causée par une manière incorrecte de créer ou d'exécuter le programme Go.

Pour résoudre ce problème, évitez d'utiliser des arguments de fichier pour go build ou go install, et construisez plutôt le package en utilisant go run ..

Voici comment réparer votre code :

main.go:

package main

import "package/employee"

func main() {
  emp := employee.NewEmployee()
}

employee.go:

package employee

type Employee struct {
  name string
  age int
}

func NewEmployee() *Employee {
  p := &Employee{}
  return p
}

func PrintEmployee(p *Employee) {
  return "Hello world!"
}

En suivant ces instructions , vous pouvez créer et exécuter correctement votre programme Go, permettant d'appeler des fonctions à partir de différents fichiers au sein du même package.

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