Rumah > pembangunan bahagian belakang > Golang > Mengapakah fungsi saya dalam pakej Go yang berasingan tidak ditentukan?

Mengapakah fungsi saya dalam pakej Go yang berasingan tidak ditentukan?

DDD
Lepaskan: 2024-12-16 06:51:10
asal
651 orang telah melayarinya

Why is my function in a separate Go package undefined?

Fungsi dalam Pakej Berasingan Tidak Ditakrifkan

Dalam struktur kod yang diberikan, fungsi yang ditakrifkan dalam fail lib.go yang berasingan tidak dikenali seperti yang ditakrifkan apabila dipanggil dari fail main.go. Mari terokai isu ini dan cari penyelesaian.

Apabila cuba menyusun main.go dengan go build main.go, ralat "undefined: Test" ditemui. Ini kerana fungsi Ujian ditakrifkan dalam lib.go, yang berada dalam pakej yang berbeza (bernama "utama") daripada main.go.

Dalam Go, pakej ialah ruang nama terpencil dan fungsi ditakrifkan dalam satu pakej tidak boleh diakses terus oleh fungsi dalam pakej lain tanpa import eksplisit. Untuk menyelesaikan isu ini, anda boleh melakukan salah satu daripada yang berikut:

  • Gunakan pernyataan import yang lebih khusus: Dalam main.go, import pakej lib dengan menambahkan import "packagetest/ lib" pada permulaan fail.
  • Gunakan laluan pakej penuh: Dalam main.go, gantikan Test() dengan packagetest.lib.Test() untuk menunjukkan secara eksplisit laluan pakej penuh tempat fungsi Ujian ditakrifkan.
  • Bina keseluruhan projek: Daripada go build main.go, jalankan go build di akar projek untuk membina semua fail yang diperlukan. Ini akan membolehkan pengkompil mencari dan mengimport fail lib.go.

Atas ialah kandungan terperinci Mengapakah fungsi saya dalam pakej Go yang berasingan tidak ditentukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan