扣丁书屋

golang使用Flag包来解析命令行参数

1年以前  |  阅读数:69 次  |    

先定义变量,然后用flag.StringVar,flag.IntVar等绑定参数,最后使用flag.Parse()获取具体的值。

package main
import (
    "fmt"
    "flag"
)

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)

}

相关文章: