GoLang ialah bahasa pengaturcaraan yang berkuasa dengan kaedah permulaan yang unik apabila berurusan dengan pembolehubah jenis bukan asas. Artikel ini akan memperkenalkan cara menggunakan LDFLAGS untuk memulakan pembolehubah jenis bukan asas dalam GoLang. LDFLAGS ialah parameter pengkompil Go dan boleh dihantar dengan menetapkan pembolehubah persekitaran. Dengan LDFLAGS, kami boleh menyediakan nilai lalai untuk pembolehubah jenis bukan asas pada masa penyusunan, dengan itu memudahkan logik kod dan meningkatkan kecekapan pembangunan. Seterusnya, mari kita lihat kaedah pelaksanaan khusus.
Saya cuba memulakan pembolehubah pada masa binaan menggunakan pilihan ldflags dalam go build.
Kod ini berfungsi dengan baik:
var version func printVersion() { fmt.Printf(version) // prints the corresponding value }
<code>go build -ldflags="-X $(ROOT)/pkg/info.version=123" </code>
Tetapi saya tidak dapat mencari cara untuk memulakan pembolehubah struktur saya sendiri yang ditakrifkan. Maksud saya, ini nampaknya tidak berkesan :
type VersionInfo struct { version string } var versionInfo VersionInfo func printVersion() { fmt.Printf(versionInfo.version) }
<code>go build -ldflags="-X $(ROOT)/pkg/info.versionInfo.version=123" </code>
Saya tidak dapat mencari apa-apa yang meliputi isu ini dalam dokumentasi rasmi. Ada idea?
Menurut dokumentasi, nampaknya tidak mungkin untuk melakukan ini melalui bendera penghubung. Jenis pembolehubah mestilah string
.
Sumber: https://www.php.cn/link/0a97e4f47718632c556e9ac591d5f3c2 p>
Atas ialah kandungan terperinci Menggunakan LDFLAGS untuk memulakan pembolehubah jenis bukan asas dalam GoLang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!