Menetapkan Pembolehubah Pakej Menggunakan -ldflags -X dalam Golang Build
Apabila membina aplikasi Go menggunakan arahan go build, pembangun boleh menetapkan pembolehubah pakej menggunakan pilihan -ldflags -X. Teknik ini biasanya digunakan untuk menyuntik rentetan versi, nilai konfigurasi atau metadata lain ke dalam binari yang disusun.
Walau bagaimanapun, persoalan timbul jika boleh menetapkan pembolehubah pakej dalam pakej tertentu, dan bukannya pakej utama. Begini cara ia boleh dicapai:
Dokumentasi untuk bendera -X dengan jelas menyatakan:
-X importpath.name=value Set the value of the string variable in importpath named name to value.
Ini menunjukkan bahawa bendera -X boleh digunakan dengan mana-mana pakej, bukan hanya yang utama pakej. Untuk menentukan pembolehubah pakej, cuma sediakan laluan import penuh (sama seperti cara anda mengimport pakej dalam kod anda).
Contohnya, jika pakej konfigurasi anda terletak di $GOPATH/src/my/package /config, anda boleh menetapkan pembolehubah Versi dalam pakej tersebut menggunakan arahan berikut:
go build -ldflags "-X my/package/config.Version=1.0.0" -o $(MY_BIN) $(MY_SRC)
Ini akan menetapkan pembolehubah Versi dalam pakej konfigurasi, walaupun arahan binaan dilaksanakan dalam pakej utama.
Atas ialah kandungan terperinci Bolehkah saya Tetapkan Pembolehubah Pakej dalam Pakej Bukan Utama Go Menggunakan `-ldflags -X`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!