Rumah >pembangunan bahagian belakang >Golang >Golang - Nama pakej ialah dua garis bawah

Golang - Nama pakej ialah dua garis bawah

WBOY
WBOYke hadapan
2024-02-09 15:00:12981semak imbas

Golang - 包名称为双下划线

Dalam pengaturcaraan Golang, nama pakej adalah konsep yang sangat penting. Spesifikasi untuk nama pakej adalah menggunakan huruf kecil dan tidak mengandungi aksara dan ruang khas. Walau bagaimanapun, terdapat kes khas di mana nama pakej digariskan dua kali. Ini kerana di Golang, pakej dengan garis bawah berganda dalam nama pakejnya mempunyai makna yang istimewa. Ia mewakili pakej kosong, digunakan untuk mengisytiharkan pembolehubah atau melakukan beberapa operasi pemulaan khas. Ciri ini sangat berguna dalam beberapa senario tertentu, terutamanya apabila membangunkan beberapa alat atau rangka kerja. Jadi, jika anda melihat nama pakej dengan garis bawah berganda di Golang, jangan keliru, ia adalah nama pakej yang sah dengan makna istimewa.

Kandungan soalan

Dalam kod go yang dijana oleh protobuf saya, pakejnya ialah:

package __
Apakah maksud

双下划线? Adakah ia sama dengan nama folder?

Adakah terdapat sebarang dokumentasi tentang perkara ini? Dan kod itu disusun tanpa ralat.

Penyelesaian

Ya, itu bermakna direktori yang sama. Mari lihat kod di bawah.

Struktur direktori

.
├── go.mod
├── greet
│   └── greet.go
└── main.go
Kandungan dalam

greet.go

package __

import "fmt"

func hello(name string) {
    fmt.printf("hello %s\n", name)
}
Kandungan dalam

main.go

package main

import greet "playground/greet"

func main() {
    greet.hello("eric")
}

Direktori semasa

$ pwd
/Users/thedatageek/Codes/go-playground

Malangnya, saya juga tidak menemui sebarang dokumentasi pergi.

Nampaknya ini perkara yang baik. Anda tidak perlu menamakan pakej tersebut. Anda hanya menamakan direktori dan nama pakej secara automatik akan sama.

Nota: Ini pastinya bukan grpcprotobuf. Walau bagaimanapun, sebagai adat, jika anda menjana rintisan asal daripada fail asal, dan menambah beberapa fail utiliti tambahan, anda boleh meletakkannya ke dalam direktori dan kemudian mengimportnya secara langsung dengan nama direktori. Contohnya repositori github berikut

https://www.php.cn/link/570badcfe14697bf2a244e2e25b93e59 https://www.php.cn/link/11b01bd09f8d22fecc14d3418f83caab https://www.php.cn/link/8cee1a0fe765af425dc6f0b6169a6c07 https://www.php.cn/link/8230bea7d54bcdf99cdfe85cb07313d5 https://www.php.cn/link/05f03bcccda955d1689b36046a6db899 https://www.php.cn/link/3a93a609b97ec0ab0ff5539eb79ef33a

Atas ialah kandungan terperinci Golang - Nama pakej ialah dua garis bawah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam