Golang – Der Paketname besteht aus einem doppelten Unterstrich
Bei der Golang-Programmierung ist der Paketname ein sehr wichtiges Konzept. Die Spezifikation für Paketnamen besteht darin, Kleinbuchstaben zu verwenden und keine Sonderzeichen und Leerzeichen zu enthalten. Es gibt jedoch einen Sonderfall, bei dem der Paketname doppelt unterstrichen ist. Dies liegt daran, dass in Golang Pakete mit doppelten Unterstrichen in ihren Paketnamen eine besondere Bedeutung haben. Es stellt ein leeres Paket dar, das zum Deklarieren von Variablen oder zum Durchführen einiger spezieller Initialisierungsvorgänge verwendet wird. Diese Funktion ist in einigen spezifischen Szenarien sehr nützlich, insbesondere bei der Entwicklung einiger Tools oder Frameworks. Wenn Sie also in Golang einen Paketnamen mit doppelten Unterstrichen sehen, lassen Sie sich nicht verwirren, es handelt sich um einen legalen Paketnamen mit besonderer Bedeutung.
Frageninhalt
Im von meinem Protobuf generierten Go-Code lautet das Paket:
package __
双下划线
? Ist es dasselbe wie der Ordnername?
Gibt es dazu eine Dokumentation? Ich habe gesucht, konnte sie aber nicht finden. Und der Code lässt sich fehlerfrei kompilieren.
Workaround
Ja, das bedeutet dasselbe Verzeichnis. Schauen wir uns den folgenden Code an.
Verzeichnisstruktur
. ├── go.mod ├── greet │ └── greet.go └── main.go
greet.go
package __ import "fmt" func hello(name string) { fmt.printf("hello %s\n", name) }
main.go
package main import greet "playground/greet" func main() { greet.hello("eric") }
Aktuelles Verzeichnis
$ pwd /Users/thedatageek/Codes/go-playground
Leider kann ich auch keine Go-Dokumentation finden.
Das scheint jedoch eine gute Sache zu sein. Sie müssen dem Paket nicht unbedingt einen Namen geben. Sie benennen einfach das Verzeichnis und die Paketnamen sind automatisch identisch.
Hinweis: Das ist definitiv nicht grpc
或 protobuf
. Wenn Sie jedoch als Benutzerdefiniert den ursprünglichen Stub aus der Originaldatei generiert und einige zusätzliche Dienstprogrammdateien hinzugefügt haben, können Sie diese in einem Verzeichnis ablegen und sie dann direkt über den Verzeichnisnamen importieren. Zum Beispiel das folgende Github-Repository
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
Das obige ist der detaillierte Inhalt vonGolang – Der Paketname besteht aus einem doppelten Unterstrich. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



OpenSSL bietet als Open -Source -Bibliothek, die in der sicheren Kommunikation weit verbreitet sind, Verschlüsselungsalgorithmen, Tasten und Zertifikatverwaltungsfunktionen. In seiner historischen Version sind jedoch einige Sicherheitslücken bekannt, von denen einige äußerst schädlich sind. Dieser Artikel konzentriert sich auf gemeinsame Schwachstellen und Antwortmaßnahmen für OpenSSL in Debian -Systemen. DebianopensL Bekannte Schwachstellen: OpenSSL hat mehrere schwerwiegende Schwachstellen erlebt, wie z. Ein Angreifer kann diese Sicherheitsanfälligkeit für nicht autorisierte Lesen sensibler Informationen auf dem Server verwenden, einschließlich Verschlüsselungsschlüssel usw.

In dem Artikel wird erläutert, wie das PPROF -Tool zur Analyse der GO -Leistung verwendet wird, einschließlich der Aktivierung des Profils, des Sammelns von Daten und der Identifizierung gängiger Engpässe wie CPU- und Speicherprobleme.Character Count: 159

In dem Artikel werden Schreiben von Unit -Tests in GO erörtert, die Best Practices, Spottechniken und Tools für ein effizientes Testmanagement abdecken.

In der Bibliothek, die für den Betrieb der Schwimmpunktnummer in der GO-Sprache verwendet wird, wird die Genauigkeit sichergestellt, wie die Genauigkeit ...

Das Problem der Warteschlange Threading In Go Crawler Colly untersucht das Problem der Verwendung der Colly Crawler Library in Go -Sprache. Entwickler stoßen häufig auf Probleme mit Threads und Anfordern von Warteschlangen. � ...

Backend Learning Path: Die Erkundungsreise von Front-End zu Back-End als Back-End-Anfänger, der sich von der Front-End-Entwicklung verwandelt, Sie haben bereits die Grundlage von Nodejs, ...

In dem Artikel wird der Befehl go fMT in Go -Programmierung erörtert, in dem Code formatiert werden, um offizielle Richtlinien für den Stil einzuhalten. Es zeigt die Bedeutung von GO FMT für die Aufrechterhaltung der Debatten mit Codekonsistenz, Lesbarkeit und Reduzierung von Stildebatten. Best Practices fo

Wie kann man im Beegoorm -Framework die mit dem Modell zugeordnete Datenbank angeben? In vielen BeEGO -Projekten müssen mehrere Datenbanken gleichzeitig betrieben werden. Bei Verwendung von BeEGO ...
