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)  }