Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist die Leerzeichenkennung in der Go-Sprache?

Was ist die Leerzeichenkennung in der Go-Sprache?

青灯夜游
青灯夜游Original
2023-01-31 17:15:553454Durchsuche

In der Go-Sprache sind Leerzeichen-Bezeichner Platzhalter für nicht verwendete Werte, dargestellt durch den Unterstrich „_“. Ein leerer Bezeichner kann bei der Deklaration oder Zuweisung von Variablen wie andere Bezeichner verwendet werden (jeder Typ kann ihm zugewiesen werden), alle diesem Bezeichner zugewiesenen Werte werden jedoch verworfen, sodass diese Werte im nachfolgenden Code nicht verwendet werden können . Sie können „_“ auch nicht als Variable verwenden, um Werte zuzuweisen oder Operationen an anderen Variablen durchzuführen.

Was ist die Leerzeichenkennung in der Go-Sprache?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, GO Version 1.18, Dell G3-Computer.

Wie Python verfügt auch die Go-Sprache über Leerzeichen-IDs.

Was ist ein Leerzeichenbezeichner?

Ein Leerzeichenbezeichner ist ein Platzhalter für einen nicht verwendeten Wert. Es wird durch einen Unterstrich (_) dargestellt. Da Leerzeichenbezeichner keine Namen haben, werden sie auch anonyme Platzhalter genannt.

Ein leerer Bezeichner kann wie andere Bezeichner für die Variablendeklaration oder -zuweisung verwendet werden (jeder Typ kann ihm zugewiesen werden), aber jeder diesem Bezeichner zugewiesene Wert wird verworfen, sodass diese Werte im nachfolgenden Code nicht verwendet werden können Wird als Variable verwendet, um Werte zuzuweisen oder Operationen an anderen Variablen durchzuführen.

In der Go-Sprache ist die Deklaration nicht verwendeter Variablen oder Importanweisungen nicht zulässig. Das heißt, wir können eine Variable nicht deklarieren und sie ungenutzt lassen. Wenn Sie ein Paket importieren, muss es ebenfalls verwendet werden.

Zu diesem Zeitpunkt ist eine leere Kennung erforderlich.

Unbenutzte Zuweisungsvariablen

Wenn eine Funktion in Go mehrere Werte zurückgibt, muss eine gleiche Anzahl von Variablen definiert werden, um diese Werte zu speichern. Wenn Sie jedoch nur einige der Werte benötigen und andere nicht, und wenn eine Zuweisung mit mehreren L-Werten übereinstimmen muss, eine der Variablen jedoch nicht vom Programm verwendet wird, verwenden Sie stattdessen einen leeren Bezeichner. Diese Variable vermeidet die Erstellung nutzloser Variablen und zeigt deutlich an, dass der Wert verworfen wird. Wie unten gezeigt:

result, error = Dosomething()
if error {
   // handle error
}

Im obigen Code hat result nichts mit dem Programm zu tun und der nachfolgende Code verwendet es nicht. Beim Kompilieren meldet der Go-Compiler einen Fehler. result 与程序无关,而且后续代码也没有使用它。如果编译的话,Go 编译器会报错。

result declared but not used

在这种情况下,您可以将结果替换为下划线或空白标识符,如下所示:

_, error = Dosomething()
if error {
   // handle error
}

即使您声明了一个变量,您也可以稍后使用空白标识符来忽略它,如下面的代码所示:

product, error = Dosomething()
if error {
   // handle error
}
// ignore unused variable
_ = product

for...range 中使用空白标志符

func Sum(numbers []int) int {

  sum := 0
  for _, number := range numbers {
    sum += number
  }
  return sum
}

未知的结构体

可以利用 _ 分配任何东西:

var _ I = T{}

无法访问此变量,以便将从生成的程序中优化。但是,如果 T 类型未分配给接口 I

imported and not used “<package name>”

In diesem Fall können Sie das Ergebnis durch einen Unterstrich oder einen leeren Bezeichner wie unten ersetzen:

import "os"
var _ = os.Open
func main() {
}
Selbst wenn Sie eine Variable deklarieren, können Sie sie später ignorieren, indem Sie einen leeren Bezeichner wie unten verwenden. Der Code wird wie folgt angezeigt:
import _ "os"

func main(){
}
Verwenden Sie die Leerzeichen-ID in for...range
rrreee

Die unbekannte Struktur

kann mit _ Alles zugewiesen werden:

rrreee

Diese Variable nicht zugänglich, so dass Optimierungen aus dem generierten Programm übernommen werden. Wenn der T-Typ jedoch nicht der Schnittstelle I zugewiesen ist, kann es zu einem Kompilierungsfehler kommen. In diesem Fall wird es also als statische Aussage über den Typ verwendet.

Unbenutzte Pakete

Wenn Sie in Go ein Paket importieren, müssen Sie es verwenden, andernfalls erhalten Sie einen Compilerfehler. rrreee

Leere Bezeichner können verwendet werden, um diesen Compilerfehler zu beheben.

Es gibt zwei Möglichkeiten, leere Bezeichner zu verwenden, um nicht verwendete Paketfehler zu beheben:

Erstens: Deklarieren Sie einen globalen leeren Bezeichner (vor der main()-Funktion), der niemals verwendet wird. Greifen Sie auf Symbole in Paketen zu, z Folgender Code:

rrreee

Zweitens: Fügen Sie vor nicht verwendeten Paketen einen leeren Bezeichner hinzu, wie unten gezeigt:

rrreeeLeere Bezeichner werden im gesamten Code verwendet, indem nicht verwendete Variablendeklarationen vermieden werden, um den Code besser lesbar zu machen.

Zusammenfassung🎜🎜🎜🎜Jedes Paket und jede Variable, die in Golang deklariert, aber nicht verwendet wird, löst einen Fehler aus. Diese Regel hält unseren Code sauber und leichtgewichtig. 🎜🎜• Manchmal können Sie leere Bezeichner verwenden, wenn Sie einige Pakete für die zukünftige Verwendung vorab importieren müssen. 🎜🎜• Manchmal gibt eine Funktion mehrere Parameter zurück, aber wenn wir nur eine der Variablen verwenden müssen, können wir sie über die Leermarkierung erhalten. 🎜🎜【Verwandte Empfehlungen: 🎜Go-Video-Tutorial🎜, 🎜Programmierunterricht🎜】🎜

Das obige ist der detaillierte Inhalt vonWas ist die Leerzeichenkennung in der Go-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn