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

  • 相关阅读:
    Luogu P1067 多项式模拟
    关于事件流,事件冒泡和事件捕获
    JavaScript高程读书笔记
    前端面试题2017
    Bootstrap教程
    jquery实现JSON数据获取
    AJAX基本格式步骤
    【转】XMLHTTP中setRequestHeader参数问题
    warp()和wrapAll()区别
    append()和appendTo(),prepend()和prependTo()区别
  • 原文地址:https://www.cnblogs.com/lxlhelloworld/p/14286048.html
Copyright © 2011-2022 走看看