Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menemui Jenis yang Dieksport daripada Pakej Go Luaran?

Bagaimanakah Saya Boleh Menemui Jenis yang Dieksport daripada Pakej Go Luaran?

Patricia Arquette
Patricia Arquetteasal
2024-12-30 05:40:09345semak imbas

How Can I Discover Exported Types from External Go Packages?

Menemui Jenis Ditentukan dalam Pakej Luaran

Dalam Go, takrifan jenis dieksport apabila namanya bermula dengan huruf besar. Untuk mengakses jenis ini daripada pakej lain, anda boleh menggunakan pakej go/importer.

Penyelesaian:

package main

import (
    "fmt"

    "go/importer"

    demo "example.com/path/to/demo" // import the package containing the types
)

func main() {
    pkg, err := importer.Default().Import("example.com/path/to/demo")
    if err != nil {
        fmt.Println("error:", err)
        return
    }

    // Get the names of all exported types in the package
    for _, declName := range pkg.Scope().Names() {
        fmt.Println(declName)
    }
}

Kod ini akan mencetak output berikut, yang menyenaraikan nama jenis yang dieksport ditakrifkan dalam pakej demo:

People
UserInfo

Nota: Menggunakan go/importer di Go Playground mungkin mengakibatkan ralat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menemui Jenis yang Dieksport daripada Pakej Go Luaran?. 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