zoukankan      html  css  js  c++  java
  • Go

    引入:
    我们希望能够获取到命令行输入的各种参数,该如何处理?
     
    基本介绍
        os.Args是一个string的切片([]string , 且第一个参数即程序名称),用来存储所有的命令行参数;
     
        案例:
            // 获取命令行参数 个数   
            fmt.Println("命令行参数有=", len(os.Args))     
            // 遍历输出各个参数     
            for i, v := range os.Args {         
                fmt.Printf("第[%v]个 参数为=%v", i, v)     
            }              
            // 使用 go build -o  test.exe main.go 创建一个test.exe文件,      
            // 测试命令 test.exe  tom  d:/abc/fads/int.log 707 需要在命令行执行而不是在ide的控制台
     
     
    flag包用来解析命令行参数
        前面的方式是比较原生的方式,对解析参数不是特别方便,特别是带有指定参数形式的命令行;
        go设计者给我们提供了flag包,可以方便的解析命令行参数,而且参数顺序可以随意;
        
        实际案例:
            // 使用flag包    
            // 定义几个变量,用于接收命令行的参数值     
            var user string      
            var pwd string      
            var host string      
            var port int      
            // &user 就是接收用户命令行中输入的 -u 后面的参数值     
            // "u" 就是 -u 指定的参数名     
            // "", 默认值     
            // "用户名,默认为空"  usage 说明     
            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)     
            // 使用默认值,即就不要写 -h/-port 参数即可     
            // test.exe -u root -pwd 12345  --> 此时 -h/port 就会使用默认值
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
        
        
  • 相关阅读:
    对学生排序 Exercise07_17
    消除重复 Exercise07_15
    计算gcd Exercise07_14
    随机数选择器 Exercise07_13
    dom4j 学习总结
    jQuery学习总结(二)
    jQuery学习总结(一)
    SQL中Where与Having的区别
    html + css (1)
    struts2+json
  • 原文地址:https://www.cnblogs.com/guo-s/p/14202373.html
Copyright © 2011-2022 走看看