卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章35694本站已运行399

go中使用flag的指针

go中使用flag的指针

php小编小新为大家介绍一种在Go语言中使用flag的指针的方法。在Go语言中,flag包提供了一种处理命令行参数的方式。通过使用flag的指针,我们可以方便地获取和处理命令行参数的值。这种方法能够提高代码的可读性和灵活性,使得我们可以更加轻松地编写命令行工具和应用程序。在本文中,我们将详细讲解如何在Go语言中使用flag的指针,希望对大家有所帮助。

问题内容

我想知道令牌是否是*string类型,然后我们通过引用获取值。但是,如果令牌已经被取消引用,为什么我还需要再次取消引用呢?

func mustToken() string {

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

    flag.Parse()

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

我尝试用谷歌搜索,但不太明白。

解决方法

上面的程序中发生的情况如下:

  1. 对 flag.String 的调用分配一个 string 变量并注册该变量、名称和默认值以及设置的标志。 flag.String 返回指向已分配变量的指针。
  2. 对 flag.Parse 的调用会解析命令行并将值写入已注册的字符串变量。
  3. 表达式 *token 取消引用从 flag.String 返回的指针,以获取注册字符串变量的值。该程序使用表达式 *token 两次,因为该程序访问该值两次。
卓越飞翔博客
上一篇: 无法使用mockDB(*MockDB类型的变量)作为结构文字中的*gorm.DB值
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏