天天看点

Go使用命令行参数报错:flag provided but not defined: -xxxxx

使用命令行传递参数,提示:

flag provided but not defined: -xxxxx'
           

复制

错误。

原因是把 flag.Parse() 调用放在了获取参数之前。应该在获取参数之后调用flag.Parse()

import (
	"flag"
	"fmt"
)

func main() {
	username := flag.String("username", "defaultName", "username")
    // 放在获取参数之后
	flag.Parse()
	fmt.Println("username=", *username)
}           

复制