Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Membina Kedua-dua Perpustakaan Go dan Boleh Laksana Kendiri dengan Nama yang Sama?

Bagaimanakah Saya Boleh Membina Kedua-dua Perpustakaan Go dan Boleh Laksana Kendiri dengan Nama yang Sama?

Linda Hamilton
Linda Hamiltonasal
2024-12-01 16:42:15130semak imbas

How Can I Build Both a Go Library and a Standalone Executable with the Same Name?

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!

Kenyataan:
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