1. ホーム
  2. go

[解決済み] 別のファイルで宣言された "未定義" 関数?

2022-04-23 17:19:58

質問

私は、同じパッケージの一部である別のファイル上の関数を呼び出す基本的なgoプログラムを書こうとしています。しかし、それは返されます。

undefined: NewEmployee

以下はソースコードです。

main.go :

package main

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

employee.go :

package main

type Employee struct {
    name string
    age int
}   

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

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

解決方法は?

お読みください Goコードの書き方" .

使用方法 go build または go install をパッケージディレクトリ内に置くか、パッケージのインポートパスを指定してください。にファイル引数を使用しないでください。 build または install .

にファイル引数を使用することができますが go run の場合、代わりにパッケージをビルドする必要があります。 go run . を使うべきですが、ほとんどの場合 go install または go build .