package main
import ( “flag” “fmt” )
/* flag包用来解析命令行参数 说明:前面的方式是比较原声的方式,对解析参数不是特别的方便,特别是带有指定参数形式的命令行。 比如:cmd>main.exe F c:/aaa.txt-p 200-u root这样的形式命令行,go设计者给我们提供了flag包,可以方便的解析命令行参数,而且参数顺序可以随意。
请编写一段代码,可以获取命令行各个参数。
*/ func main(){ //定义几个变量,用语接收命令行的参数值 var user string//定义用户 var pwd string//定义密码 var host string//定义主机 var port string//定义端口
//&user 就是接收用户命令行中输入的-u后面的参数值 //"u",就是-u指定参数 //"",默认值 //"用户名,默认为空"说明 flag.StringVar(&user,"u","","用户名,默认为空") flag.StringVar(&pwd,"pwd","","密码,默认为空") flag.StringVar(&host,"h","localhost","主机名,默认为localhost") flag.StringVar(&port,"port","3306","端口号,默认为3306") //这里有一个非常重要的操作,转换,必须调用该方法 flag.Parse() //输出结果 fmt.Printf("user=%v pwd=%v pwd=%v port=%v",user,pwd,host,port)}