Menguruskan Nama Dikongsi dalam Perpustakaan dan Perduaan
Apabila membangunkan perisian, adalah wajar untuk mempunyai kedua-dua pustaka dan boleh laku kendiri dengan nama yang sama. Ini boleh membawa kepada cabaran dalam Go, kerana pendekatan yang disyorkan adalah untuk executable dan pustaka mempunyai nama yang berbeza.
Dalam contoh yang diberikan, pembangun cuba mencipta pustaka untuk operasi Tar, tetapi juga mahukan yang berdiri sendiri Utiliti baris arahan Tar. Pendekatan awal meletakkan kod boleh laku dalam direktori bernama main.go dalam pakej perpustakaan tidak berfungsi seperti yang diharapkan.
Untuk menyelesaikan masalah ini, adalah disyorkan untuk mengatur pangkalan kod seperti berikut:
src/ tar/ tar.go # tar library tar/ main.go # tar binary
Dengan struktur ini, pergi bina -o $GOPATH/bin/tar tarbin membina kedua-dua perpustakaan bernama tar dan binari bernama tar.
Jika kod dihoskan pada GitHub, struktur direktori pilihan menjadi:
src/ github.com/ you/ tar/ tar.go # tar library tar/ main.go # tar binary
Reka letak ini memastikan bahawa apabila berjalan pergi dapatkan install github.com/you/tar/tar, binari bernama tar dipasang, dan pergi pasang github.com/you/tar memasang perpustakaan bernama github.com/you/tar.
Bergantung pada tujuan utama pangkalan kod, perpustakaan dan binari boleh ditukar dalam struktur direktori.
Dengan menggunakan subdirektori yang berasingan untuk perpustakaan dan binari dalam direktori pakej, pembangun boleh mengurus kod dengan nama yang dikongsi dengan berkesan dalam Go, mendayakan kedua-dua perpustakaan dan kefungsian boleh laku kendiri.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membina Kedua-dua Perpustakaan Go dan Boleh Laksana Kendiri dengan Nama yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!