Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh mengimport semua pengecam yang dieksport daripada pakej Go tanpa menggunakan nama pakej?

Bagaimanakah saya boleh mengimport semua pengecam yang dieksport daripada pakej Go tanpa menggunakan nama pakej?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-26 19:27:02508semak imbas

  How can I import all exported identifiers from a Go package without using the package name?

Mengimport Segala-galanya daripada Pakej

Dalam Go, adalah mungkin untuk mengimport semua pengecam yang dieksport daripada pakej, menghapuskan keperluan untuk meletakkan awalannya dengan nama pakej.

Spesifikasi Bahasa Pengaturcaraan Go menyatakan:

"Jika tempoh eksplisit (.) muncul dan bukannya nama, semua pengecam pakej yang dieksport yang diisytiharkan dalam blok pakej pakej itu akan diisytiharkan dalam blok fail fail sumber pengimportan dan mesti diakses tanpa kelayakan."

Sebagai contoh, pertimbangkan kod berikut:

import "fmt"

func main() {
    fmt.Println("Hello, world")
}

Kod ini boleh dipermudahkan dengan menggunakan titik import:

import . "fmt"

func main() {
    Println("Hello, world")
}

Dalam contoh ini, . (titik) dalam pernyataan import menunjukkan bahawa semua pengecam yang dieksport daripada pakej fmt harus diimport. Akibatnya, fmt. awalan tidak lagi diperlukan apabila memanggil fungsi daripada pakej itu.

Berikut ialah contoh untuk menggambarkan lagi konsep ini:

package main

import . "fmt"

func main() {
    Println("Hello, world")
}

Apabila anda menjalankan kod ini di Go Playground, anda akan mendapat output berikut:

Hello, world

Ini menunjukkan bahawa import dot berjaya membolehkan anda mengakses pengecam yang dieksport daripada pakej fmt tanpa perlu mengawalannya dengan fmt..

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengimport semua pengecam yang dieksport daripada pakej Go tanpa menggunakan nama pakej?. 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