美文网首页
命令行参数

命令行参数

作者: 远方的路_ | 来源:发表于2018-09-28 22:25 被阅读0次
  1. C语言中的命令行参数
    在C语言中main函数可以接收两个参数
    int main(int argc, const char *argv[]){}
    • argc: argv中保存数据的个数
    • argv: 默认情况下系统只会传入一个值, 这个值就是main函数执行文件的路径
    • 我们可以通过配置开发工具,或者命令行运行时以空格+参数形式传递其它参数
    • 注意点: 无论外界传入的是什么类型, 我们拿到的都是字符串类型
#include <stdio.h>
int main(int argc, const char * argv[])
{
    for(int i = 0; i < argc; i++){
        printf("argv[%d] = %s\n", i, argv[i]);
    }
    return 0;
}
  1. Go语言中的命令行参数
    在Go语言中main函数是不接收任何参数的, 但是还是可以通过其它方式来接收命令行参数:
  • Go语言中接收命令行参数方式一:

    • 导入os包,然后通过os包的Args属性获取命令行参数
      注意点:
      1.和C语言一样, 默认会将当前被执行程序的可执行文件的路径传递给我们
      2.和C语言一样, 无论外界传入的数据是什么类型, OS包拿到的都是字符串类型
      通过os包获取命令行参数的弊端:
      1.如果用户少传入了参数, 会报错
      2.无论用户传入的是什么类型, 最终获取到的都是字符串类型
      3.传递参数的时候, 必须按照业务逻辑的顺序来传递, 传递的顺序不能被打乱
package main

import (
    "fmt"
    "os" // 用于获取命令行参数的包
)
func main() {
    // 1.获取传入参数个数
    num := len(os.Args)
    // 2.打印所有获取到的参数
    for i := 0; i < num; i++ {
        fmt.Println(os.Args[i])
    }
}
  • Go语言中接收命令行参数方式二:

    • 导入flag包,通过flag包中的stringVar函数获取
      通过flag包获取命令行参数的优势:
      1.如果用户少传入了参数, 不会报错
      2.传递参数的时候, 不用按照业务逻辑的顺序来传递, 传递的顺序可以被打乱
      注意点:
      通过flag包接收用户输入的命令行参数, 还必须将编写好的参数注册到命令行
      flag.Parse() //注册命令行参数
package main
import (
    "flag"
    "fmt"
)
func main() {
    /*
    flag.Xxxx(*type, name, value, usage)
    第一个参数:保存命令行参数变量地址
    第二个参数: 命令行参数名称
    第三个参数: 命令行参数对应的默认值
    第四个参数: 命令行参数对应的说明
    */
    // 1.定义变量,保存命令行参数的值
    var name string
    var age int
    // 2.设置命令行参数
    flag.StringVar(&name, "name", "lnj", "请输入人的姓名")
    flag.IntVar(&age, "age", 33,"请输入人的姓名")
    // 3.注册解析命令行参数
    flag.Parse()
    // 4.使用命令行参数
    fmt.Println("name = ", name)
    fmt.Println("age = ", age)
}

相关文章

  • 九、处理用户输入

    简单目录 1.命令行参数 2.处理命令行选项和命令行参数参数 3.read命令获取用户输入 1.命令行参数 在命令...

  • 常用的npm包

    命令行参数处理 nodejs 脚本,命令行参数处理,接受参数parse 可以使用 minimist 参数提示 co...

  • 特殊变量列表

    特殊变量列表 命令行参数 运行脚本时传递给脚本的参数称为命令行参数。命令行参数用 $n 表示,例如,$1 表示第一...

  • Java 命令行参数解析类库

    命令行参数解析类库1命令行参数解析类库2命令行参数解析类库3 JArgsJakarta Commons CLITE...

  • pflag命令行参数

    简介 本文讲解如何在go程序中使用命令行参数包pflag来获取gong语言编写的命令行程序的传入参数。 命令行参数...

  • 第14章:处理用户输入

    [TOC] #1. 命令行参数 向shell脚本传递数据的最基本方法是使用命令行参数。命令行参数允许在运行脚本时向...

  • flag

    编写命令行程序时会使用不同的启动参数(命令行参数)来控制程序的行为 Go编写命令行程序时,获取并解析命令行参数的方...

  • 2.2.7 shell位置参数与特殊变量

    命令行参数

  • shell环境变量一览

    变量说明*含有所有命令行参数(以单个文本值的形式)@含有所有命令行参数(以多个文本值的形式)#命令行参数数目?最近...

  • 比特股命令行钱包cli_wallet参数翻译

    一 命令行参数

网友评论

      本文标题:命令行参数

      本文链接:https://www.haomeiwen.com/subject/tudmoftx.html