美文网首页
002-golang- 命令行参数处理及flag包

002-golang- 命令行参数处理及flag包

作者: 夏大王2019 | 来源:发表于2017-12-08 12:58 被阅读74次

os包 os.Args的使用

  1. golang 中可以使用 os.Args 进行 命令行参数的处理。 os 包

  2. os.Args 是一个字符串数组, 其中下标位0 的是调用的程序本身。

flag包关于命令行参数的使用

  1. Go 提供了一个 flag 包,支持基本的命令行标志解析。。
  2. 基本的标记声明仅支持字符串、整数和布尔值选项。
  3. wordPtr := flag.String("word", "foo", "a string") 返回的是字符串指针,三个参数分别是:参数名 参数默认值,字符串描述。
  4. 用程序中已有的参数来声明一个标志也是可以的。注意在标志声明函数中需要使用该参数的指针。使用的接口是: flag.StringVar(&svar, "svar", "bar", "a string var") 其中svar是一个已经使用的字符串变量
package main

import "flag"
import "fmt"

func main() {
    
    wordPtr := flag.String("word", "foo", "a string")
    
    numbPtr := flag.Int("numb", 42, "an int")
    boolPtr := flag.Bool("fork", false, "a bool")
    //用程序中已有的参数来声明一个标志也是可以的。注意在标志声明函数中需要使用该参数的指针。
    var svar string
    flag.StringVar(&svar, "svar", "bar", "a string var")
    //所有标志都声明完成以后,调用 flag.Parse() 来执行命令行解析。
    flag.Parse()
    //这里我们将仅输出解析的选项以及后面的位置参数。注意,我们需要使用类似 *wordPtr 这样的语法来对指针解引用,从而得到选项的实际值。
    fmt.Println("word:", *wordPtr)
    fmt.Println("numb:", *numbPtr)
    fmt.Println("fork:", *boolPtr)
    fmt.Println("svar:", svar)
    fmt.Println("tail:", flag.Args())
}

使用

go   run  flagdemo.go  -word  test
word: test
numb: 42
fork: false
svar: bar
tail: []

参考链接

  1. Go语言_flag_Go的命令行参数 /命令行处理

相关文章

  • 002-golang- 命令行参数处理及flag包

    os包 os.Args的使用 golang 中可以使用 os.Args 进行 命令行参数的处理。 os 包 os...

  • 参数flag

    flag 参数 flag包实现了命令行参数的解析。 -h=true 实现帮助文档 package mainimpo...

  • Go标准库flag使用

    Go语言标准库flag基本使用 Go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简...

  • Golang学习笔记-flag

    使用flag包可以用来解析命令行参数,flag.TypeVar()用于定义参数并绑定到指定变量,flag.Type...

  • Golang标准库——flag

    flag包实现了命令行参数的解析。要求:使用flag.String(), Bool(), Int()等函数注册fl...

  • Go-flag包解析

    简介 godoc-flag 标准库-命令行参数解析flag cobra-解析命令 功能:flag实现命令行解析 使...

  • Go 启动传参

    通过os或者flag包都可以 启动参数配置 代码 命令行 命令行无法设置系统变量,可以根据操作系统自行设置

  • golang flag包使用总结

    最近看NSQD源码使用flag+ toml配置文件的用法, 详细总结下. flag 该包提供了一系列解析命令行参数...

  • 【Python的小技巧(二)】getopt库实现脚本传入参数

    简介 getopt模块用于解析脚本参数,该模块是专门用来处理命令行参数的 解析命令行选项及参数列表 args:要解...

  • Golang 命令行 os.Args 和 flag包

    参考Go语言-命令行参数(os.Args, flag包) 大部分Go程序都是没有UI的,运行在纯命令行的模式下,该...

网友评论

      本文标题:002-golang- 命令行参数处理及flag包

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