Maison >développement back-end >Golang >Utiliser des pointeurs de drapeau en déplacement

Utiliser des pointeurs de drapeau en déplacement

WBOY
WBOYavant
2024-02-14 22:06:08520parcourir

Utiliser des pointeurs de drapeau en déplacement

L'éditeur PHP Xiaoxin vous présentera une méthode d'utilisation des pointeurs de drapeau en langage Go. Dans le langage Go, le package flag fournit un moyen de gérer les paramètres de ligne de commande. En utilisant le pointeur flag, nous pouvons facilement obtenir et traiter la valeur du paramètre de ligne de commande. Cette approche améliore la lisibilité et la flexibilité du code, facilitant ainsi l'écriture d'outils et d'applications en ligne de commande. Dans cet article, nous expliquerons en détail comment utiliser les pointeurs de drapeau dans le langage Go. Nous espérons que cela sera utile à tout le monde.

Contenu de la question

Je veux savoir si le jeton est de type *string, alors nous obtenons la valeur par référence. Mais si le jeton a déjà été déréférencé, pourquoi dois-je le déréférencer à nouveau ?

func mustToken() string {

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

    flag.Parse()

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

J’ai essayé de le rechercher sur Google, mais je n’ai pas vraiment compris.

Solution

Ce qui se passe dans le programme ci-dessus est le suivant :

  1. L'appel à flag.String alloue une variable string et enregistre la variable, son nom et sa valeur par défaut, ainsi que l'indicateur défini. flag.String renvoie un pointeur vers une variable allouée.
  2. Un appel à flag.Parse analyse la ligne de commande et écrit la valeur dans une variable de chaîne enregistrée.
  3. L'expression *token 取消引用从 flag.String 返回的指针,以获取注册字符串变量的值。该程序使用表达式 *token deux fois car le programme accède deux fois à la valeur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer