我想知道token是否是*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
}
我尝试用谷歌搜索,但不太明白。
在 Go 中,当您定义
string
变量时,它默认为 ""
。
当您解析输入数据时,如果不使用指针,如果用户未提供值或显式提供 ""
,您将得到一个空字符串。
--token ""
和不指定令牌都会导致 token=""
。
使用指针时,如果用户未提供值
token
将是 nil
。