首页 > 其他 > 详细

Golang使用flag包解析命令行参数

时间:2021-02-15 09:51:43      阅读:25      评论:0      收藏:0      [点我收藏+]

如果只是简单地,查看和使用命令行的参数(没有使用-u user等指定参数),可以使用"os.Args"这个切片,里面就存放了命令行参数。

要想使用指定的命令行参数,用flag包中的StringVar和IntVar方法

package main

import (
	"fmt"
	"flag"
)

func main(){
	// 定义几个变量,用于接收命令行的参数值
	var (
		user, pwd, host string
		port int
	)

	// &user,用来接收命令行中输入的-u后面的参数
	// "u",就是-u指定参数
	// "",就是默认值
	// "用户名,默认为空",是对参数的说明
	flag.StringVar(&user, "u", "", "用户名,默认为空")
	flag.StringVar(&pwd, "pwd", "", "密码,默认为空")
	flag.StringVar(&host, "h", "localhost", "主机名,默认为localhost")
	flag.IntVar(&port, "p", 3306, "端口号,默认为3306")

	// 转换
	flag.Parse()
	// 输出结果
	fmt.Printf("user=%v pwd=%v host=%v port=%v\n", 
				user, pwd, host, port)
}

结果:

技术分享图片
技术分享图片
我用的Windows power shell,所以默认不会从当前位置加载命令,所以我用./main.exe来指定路径

Golang使用flag包解析命令行参数

原文:https://www.cnblogs.com/pangqianjin/p/14403245.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!