zoukankan      html  css  js  c++  java
  • go获取命令行参数

    一、遍历获取

    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
    ", i, v)
        }
    }

    二、对应参数获取

    如像 mysql 那样:mysql -u root -p 123456,可以指定输入内容,输入顺序可变。

    flag包实现了命令行参数的解析:

    package main
     
    import (
        "flag"
        "fmt"
    )
     
    func main() {
        // 定义几个变量,用于接收命令行的参数值
        var user        string
        var password    string
        var host        string
        var port        int
        // &user 就是接收命令行中输入 -u 后面的参数值,其他同理
        flag.StringVar(&user, "u", "root", "账号,默认为root")
        flag.StringVar(&password, "p", "", "密码,默认为空")
        flag.StringVar(&host, "h", "localhost", "主机名,默认为localhost")
        flag.IntVar(&port, "P", 3306, "端口号,默认为3306")
        // 解析命令行参数写入注册的flag里
        flag.Parse()
        // 输出结果
        fmt.Printf("user:%v
    password:%v
    host:%v
    port:%v
    ",
            user, password, host, port)
    }
    ip := flag.Int("name", "value", "usage")

    方法中有三个参数:
    name:表示指定的参数名,在命令行中输入为-name或–name
    value:表示默认值
    usage:参数说明描述

  • 相关阅读:
    C++中的派生类相关内容,结构体、共同体内容
    window查看端口以及telnet的使用
    java中long型转换为int
    C/C++数组初始化全为0
    linux中的一些指令 find
    bat相关知识
    bat设置开机自启动
    for循环语句及批量创建用户!
    Shell函数!
    case语句!
  • 原文地址:https://www.cnblogs.com/hoganhome/p/14919022.html
Copyright © 2011-2022 走看看