码迷,mamicode.com
首页 > 其他好文 > 详细

Go命令行参数

时间:2020-01-26 10:18:14      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:use   ack   入参   结果   数值   切片   ring   端口   pre   

1. 原生的

package main
import (
	"fmt"
	"os"
)

func main() {

	fmt.Println("命令行的参数有", len(os.Args))
	//遍历os.Args切片,就可以得到所有的命令行输入参数值
	for i, v := range os.Args {
		fmt.Printf("args[%v]=%v\n", i, v)
	}
}

技术图片

2. flag包

技术图片

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)

}

技术图片

 

Go命令行参数

标签:use   ack   入参   结果   数值   切片   ring   端口   pre   

原文地址:https://www.cnblogs.com/yzg-14/p/12233721.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!