Go-命令行参数基本使用
命令行参数基本使用
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println("命令行的参数有", len(os.Args))
for i, v := range os.Args {
fmt.Printf("args[%v]=%v\n", i, v)
}
}
上面的是以空格为单位
flag包解析命令行参数
package main
import (
"flag"
"fmt"
)
func main() {
//定义几个变量,用于接收命令行的参数值
var user string
var pwd string
var host string
var port int
//&user 接收用户命令行中输入的-u后面的参数值
//“u” 就是-u指定参数
//“” 默认值
//“用户名 默认为空” 说明
flag.StringVar(&user, "u", "", "用户名,默认为空")
flag.StringVar(&pwd, "pwd", "", "密码,默认为空")
flag.StringVar(&host, "h", "localhost", "主机名,默认为localhost")
flag.IntVar(&port, "port", 3306, "端口号,默认为3306")
flag.Parse()
//输出结果
fmt.Printf("user=%v pwd=%v host=%v port=%v",
user, pwd, host, port)
}
可以把对应的参数取出来,顺序可以打乱
转载请注明出处,欢迎讨论和交流!