Soalan:
Bolehkah pakej dalam Go diimport tanpa merujuk nama pakejnya secara eksplisit? Jika ya, bagaimanakah perkara ini boleh dicapai?
Jawapan:
Ya, terdapat dua kaedah untuk memanggil fungsi pakej tanpa menggunakan nama pakejnya:
1. Import Tempoh Eksplisit:
Import pakej menggunakan "." (tempoh eksplisit) dan bukannya nama:
<code class="go">package main import "." "fmt" // Import fmt without alias func main() { Println("Hello, playground") }</code>
Kaedah ini menjadikan semua pengecam yang dieksport daripada pakej boleh diakses dalam blok pakej semasa.
Nota: Amalan ini tidak digalakkan kerana isu kebolehbacaan.
2. Rujukan Pembolehubah:
Isytiharkan pembolehubah peringkat pakej yang merujuk fungsi yang diingini:
<code class="go">package main import ( "fmt" ) var Println = fmt.Println // Reference Println from fmt package func main() { Println("Hello, playground") }</code>
Selain itu, taip alias boleh digunakan untuk merujuk jenis. Contohnya:
<code class="go">package main import ( "fmt" ) type ScanState = fmt.ScanState // Type alias for ScanState func main() { var state ScanState // Declare a variable of type ScanState }</code>
Atas ialah kandungan terperinci Bolehkah saya Menggunakan Fungsi Pakej dalam Go Tanpa Menentukan Nama Pakej?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!