zoukankan      html  css  js  c++  java
  • Go的命令行参数

    使用os.Args获得参数

    os.Args是一个string的切片,用来存储所有的命令参数

    func GetArgs() {
    
    	fmt.Println("命令行参数:", len(os.Args))
    
    	for i, v := range os.Args {
    		fmt.Printf("args[%v] = %v", i, v)
    		
    	}
    }
    
    

    可如下获取参数
    参数获取1

    使用flag包解析命令行参数

    前面的方式是比较原生的方式,对解析参数不是特别的方便,特别是带有指定参数形式的命令行。

    为获得可以指定参数的命令行参数可以使用flag包

    具体代码

    func GetArgsByFlag() {
    
    	var user string
    	var password string
    	var host string
    	var port int
    
    	// &user:保存命令行中输入 -u 后面的参数值
    	// "u" : 指定参数: -u
    	// "root" : 默认值
    	// "用户名,默认为root" : 说明
    	flag.StringVar(&user, "u", "root", "用户名,默认为root")
    	flag.StringVar(&password, "P", "123456", "密码,默认为123456")
    	flag.StringVar(&host, "h", "localhost", "主机名,默认本机")
    	flag.IntVar(&port, "p", 3306, "端口号,默认是3306")
    
    	// 这里有一个非常中的操作,转换,必须调用该方法
    	flag.Parse()
    
    	fmt.Printf("user = %v 
    ", user)
    	fmt.Printf("password = %v 
    ", password)
    	fmt.Printf("host = %v 
    ", host)
    	fmt.Printf("port = %v 
    ", port)
    }
    

    可如下获取参数
    参数获取1

  • 相关阅读:
    php 获取当前目录和当前文件夹
    学习笔记12(选做)
    学习笔记11
    OpenEuler 中C与汇编的混合编程
    OpenEuler中C语言中的函数调用测试
    学习笔记10
    电子公文传输系统验收3开发环境
    电子公文传输系统验收2功能测试
    socket编程
    socket课堂
  • 原文地址:https://www.cnblogs.com/lxlhelloworld/p/14286048.html
Copyright © 2011-2022 走看看