Rumah >pembangunan bahagian belakang >Golang >Mengapa Fungsi My Go 'tidak ditentukan' Apabila Diisytiharkan dalam Fail Lain?
Masalah:
Apabila cuba memanggil fungsi yang ditakrifkan dalam fail berasingan dalam pakej yang sama, anda menghadapi ralat berikut: "undefined: NewEmployee."
Penyelesaian:
Untuk menyelesaikan isu ini, adalah penting untuk memahami sistem modul Go dan pendekatan pengurusan pakej.
Modul dan Pakej Go
Go menyusun kod ke dalam modul dan pakej. Setiap modul mengandungi satu atau lebih pakej, dan setiap pakej mewakili satu unit fungsi. Dalam contoh yang diberikan, kedua-dua main.go dan employee.go tergolong dalam pakej yang sama, kerana kedua-duanya menggunakan pakej utama.
Membina dan Memasang Pakej
Apabila bekerja dengan pakej, adalah penting untuk menggunakan arahan yang sesuai untuk membina dan memasangnya. Pendekatan yang disyorkan ialah menggunakan go build atau go install dalam direktori pakej. Ini memastikan pakej itu dibina dengan betul dan disediakan untuk diimport.
Menjalankan Program
Untuk melaksanakan program, biasanya dinasihatkan untuk menggunakan go run . dalam direktori pakej. Perintah ini menjalankan program menggunakan keadaan binaan pakej semasa.
Argumen Fail
Menggunakan argumen fail untuk go build atau go install tidak disyorkan. Sebaliknya, sediakan laluan import untuk pakej tersebut. Begitu juga, walaupun anda boleh menggunakan argumen fail untuk go run, amalan yang lebih baik untuk membina pakej terlebih dahulu, menggunakan sama ada go run . atau pergi pasang.
Dengan mengikuti garis panduan ini dan memahami modul dan sistem pakej Go, anda boleh mengelakkan ralat fungsi "tidak ditentukan" dan berfungsi dengan berkesan dengan berbilang fail dalam program Go anda.
Atas ialah kandungan terperinci Mengapa Fungsi My Go 'tidak ditentukan' Apabila Diisytiharkan dalam Fail Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!