Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah saya boleh mengekstrak versi modul daripada boleh laku Go?

Bagaimanakah saya boleh mengekstrak versi modul daripada boleh laku Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-31 08:57:30616semak imbas

How can I extract module versions from Go executables?

Mengekstrak Versi Modul daripada Go Executables

Dalam Go boleh laku binari, alat Go membenamkan modul dan maklumat pergantungan. Maklumat ini boleh diakses menggunakan fungsi runtime/debug.ReadBuildInfo().

Masalah

Anda perlu memaparkan versi modul yang digunakan dalam boleh laku Go anda, tetapi anda bergelut dengan pelaksanaannya. Anda telah mempertimbangkan untuk menggunakan ldflags, tetapi ia tidak boleh berskala.

Penyelesaian

Nyahpepijat.ReadBuildInfo() mengembalikan senarai contoh nyahpepijat.Modul, yang menyediakan perkara berikut maklumat:

  • Laluan: Laluan modul
  • Versi: Versi modul
  • Jumlah: Jumlah semak modul
  • Ganti: Modul yang digantikannya

Contoh Kod

Kod berikut menunjukkan cara menggunakan ReadBuildInfo() untuk mendapatkan semula versi modul:

<code class="go">package main

import (
    "fmt"
    "runtime/debug"
)

func main() {
    bi, ok := debug.ReadBuildInfo()
    if !ok {
        // Handle failure
    }

    for _, dep := range bi.Deps {
        fmt.Printf("Dependency: %s, Version: %s\n", dep.Path, dep.Version)
    }
}</code>

Contoh ini akan keluarkan laluan dan versi semua kebergantungan yang digunakan oleh boleh laku.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengekstrak versi modul daripada boleh laku Go?. 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