ホームページ >バックエンド開発 >Golang >別のファイルから呼び出すと Go 関数が未定義になるのはなぜですか?

別のファイルから呼び出すと Go 関数が未定義になるのはなぜですか?

DDD
DDDオリジナル
2024-12-14 10:33:12294ブラウズ

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

別のファイルで定義された未定義の関数

別のファイルから NewEmployee という名前の関数を呼び出そうとしていますが、「未定義」というメッセージが表示されます。 " エラー。このエラーは、Go プログラムのビルドまたは実行方法が間違っていることが原因で発生します。

この問題を解決するには、go build または go install でファイル引数を使用するのを避け、代わりに go run ..

問題を修正する方法は次のとおりです。 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!"
}
次の手順に従ってくださいを使用すると、Go プログラムを正しくビルドして実行でき、同じパッケージ内の異なるファイルから関数を呼び出すことができます。

以上が別のファイルから呼び出すと Go 関数が未定義になるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。