Dalam Go, secara amnya dianggap sebagai amalan yang baik untuk merujuk kepada fungsi pakej menggunakan nama pakej yang layak. Walau bagaimanapun, terdapat beberapa situasi di mana anda mungkin mahu memanggil fungsi pakej tanpa menggunakan nama pakej.
Menggunakan Import Tempoh Eksplisit
Satu cara untuk mengimport pakej tanpa menggunakan nama pakejnya ialah menggunakan import tempoh eksplisit (.). Ini memberitahu pengkompil untuk mengimport semua pengecam yang dieksport yang diisytiharkan dalam blok pakej pakej ke dalam blok fail pengimport. Pengecam ini kemudiannya boleh diakses tanpa kelayakan.
Contoh:
<code class="go">package main import ( . "fmt" ) func main() { Println("Hello, playground") }</code>
Nota: Penggunaan import tempoh eksplisit tidak digalakkan dalam komuniti Go kerana ia menjadikan program lebih sukar dibaca. Tidak jelas sama ada nama ialah pengecam peringkat pakej dalam pakej semasa atau dalam pakej yang diimport.
Menggunakan Pembolehubah Tahap Pakej dan Alias Jenis
Pilihan lain adalah untuk mengisytiharkan pembolehubah peringkat pakej dengan rujukan kepada fungsi. Anda juga boleh menggunakan alias jenis untuk merujuk jenis.
Contoh:
<code class="go">package main import ( "fmt" ) var Println = fmt.Println type ScanState = fmt.ScanState // type alias func main() { Println("Hello, playground") }</code>
Pendekatan ini membolehkan anda menggunakan pengecam tanpa nama pakej, tetapi ia memperkenalkan sintaks tambahan dan boleh lebih bertele-tele.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Fungsi Pakej dalam Go Tanpa Nama Pakej Eksplisit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!