Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Membina Perpustakaan dan Perduaan Kendiri dengan Nama Yang Sama dalam Go?

Bagaimanakah Saya Boleh Membina Perpustakaan dan Perduaan Kendiri dengan Nama Yang Sama dalam Go?

Barbara Streisand
Lepaskan: 2024-11-27 01:25:09
asal
484 orang telah melayarinya

How Can I Build a Library and a Standalone Binary with the Same Name in Go?

Berbilang Perpustakaan dan Perduaan dengan Nama Yang Sama

Soalan ini meneroka kemungkinan mencipta perpustakaan dan binari kendiri dengan nama yang sama. Contoh alat baris perintah Tar dan kefungsian perpustakaannya menunjukkan senario ini.

Pada mulanya, pengguna mencuba struktur direktori berikut:

src/
    tar/
        tar.go # belongs to package tar
        main.go # imports tar and provides a main function
Salin selepas log masuk

Walau bagaimanapun, ini menghasilkan "perintah " dipanggil tarbin, bukan arahan tar yang diingini.

Untuk menangani perkara ini, pengguna menggunakan penyelesaian menyatakan secara eksplisit nama perduaan keluaran menggunakan go build -o $GOPATH/bin/tar tar.

Penyelesaian yang lebih elegan yang dicadangkan oleh responden ialah menyusun kod seperti berikut:

src/
    tar/
        tar.go         # tar libary
        tar/
            main.go    # tar binary
Salin selepas log masuk

Menggunakan struktur ini, binari yang terhasil akan dinamakan tar, manakala perpustakaan dinamakan tar.

Jika kod dihoskan pada GitHub, struktur direktori adalah seperti berikut:

src/
    github.com/
        you/
            tar/
                tar.go         # tar libary
                tar/
                    main.go    # tar binary
Salin selepas log masuk

Organisasi ini memastikan arahan go boleh memasang kedua-dua binari dan perpustakaan apabila digunakan dengan go get install github.com/you/tar/tar.

Kelebihan pendekatan ini ialah ia membolehkan membina dan menguji semua kod dalam projek menggunakan go install ./....

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membina Perpustakaan dan Perduaan Kendiri dengan Nama Yang Sama dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan