Heim >Backend-Entwicklung >Golang >Verwendung von Flag-Zeigern in go

Verwendung von Flag-Zeigern in go

WBOY
WBOYnach vorne
2024-02-14 22:06:08501Durchsuche

Verwendung von Flag-Zeigern in go

Der PHP-Editor Xiaoxin stellt Ihnen eine Methode zur Verwendung von Flag-Zeigern in der Go-Sprache vor. In der Go-Sprache bietet das Flag-Paket eine Möglichkeit, Befehlszeilenparameter zu verarbeiten. Durch die Verwendung des Flag-Zeigers können wir den Wert des Befehlszeilenparameters einfach abrufen und verarbeiten. Dieser Ansatz verbessert die Lesbarkeit und Flexibilität des Codes und erleichtert das Schreiben von Befehlszeilentools und -anwendungen. In diesem Artikel erklären wir ausführlich, wie Flag-Zeiger in der Go-Sprache verwendet werden. Wir hoffen, dass er für alle hilfreich ist.

Frageinhalt

Ich möchte wissen, ob das Token vom Typ *string ist, dann erhalten wir den Wert per Referenz. Aber wenn das Token bereits dereferenziert wurde, warum muss ich es dann noch einmal dereferenzieren?

func mustToken() string {

    token := flag.String("t", "", "token for access to tg bot")

    flag.Parse()

    if *token == "" {
        log.Fatal("token isnt specified")
    }
    return *token
}

Ich habe versucht, es zu googeln, konnte es aber nicht ganz herausfinden.

Lösung

Was im obigen Programm passiert, ist wie folgt:

  1. Der Aufruf von flag.String weist eine string Variable zu und registriert die Variable, ihren Namen und Standardwert sowie das gesetzte Flag. flag.String gibt einen Zeiger auf eine zugewiesene Variable zurück.
  2. Ein Aufruf von flag.Parse analysiert die Befehlszeile und schreibt den Wert in eine registrierte Zeichenfolgenvariable.
  3. Der Ausdruck *token 取消引用从 flag.String 返回的指针,以获取注册字符串变量的值。该程序使用表达式 *token zweimal, da das Programm zweimal auf den Wert zugreift.

Das obige ist der detaillierte Inhalt vonVerwendung von Flag-Zeigern in go. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen