使用os包和flag包实现读取main命令入参

 更新时间:2015年03月29日 11:09:54   投稿:hebedich  
这篇文章主要介绍了使用os包和flag包实现读取main命令入参的相关资料,需要的朋友可以参考下

os包的Args包括了命令名本身,作为读取参数的第一个值。
flag.Args读取命令后的入参(要配合flag.Parse()使用)。

也就是,os的比flag多一个命令名的读取。

package main
 
import (
  "flag"
  "fmt"
  "os"
)
 
func main() {
 
  // os.Args方式
  args := os.Args
  if args == nil || len(args) < 2 {
    fmt.Println("Hello 世界!")
  } else {
    fmt.Println("Hello ", args[1]) // 第二个参数,第一个参数为命令名
  }
 
  // flag.Args方式
  flag.Parse()
  var ch []string = flag.Args()
  if ch != nil && len(ch) > 0 {
    fmt.Println("Hello ", ch[0]) // 第一个参数开始
  }
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

  • Golang内存模型教科书级讲解

    Golang内存模型教科书级讲解

    go官方介绍go内存模型的时候说:探究在什么条件下,goroutine 在读取一个变量的值的时,能够看到其它 goroutine 对这个变量进行的写的结果,Go内存模型规定了一些条件,在这些条件下,在一个goroutine中读取变量返回的值能够确保是另一个goroutine中对该变量写入的值
    2023-03-03
  • 谈谈Go语言的反射三定律

    谈谈Go语言的反射三定律

    本文中,我们将解释Go语言中反射的运作机制。每个编程语言的反射模型不大相同,很多语言索性就不支持反射(C、C++)。由于本文是介绍Go语言的,所以当我们谈到“反射”时,默认为是Go语言中的反射。
    2016-08-08
  • 详解Golang如何实现一个环形缓冲器

    详解Golang如何实现一个环形缓冲器

    环形缓冲器(ringr buffer)是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流。本文将利用Golang实现一个环形缓冲器,需要的可以参考一下
    2022-09-09
  • Go调度器学习之系统调用详解

    Go调度器学习之系统调用详解

    这篇文章肿,将以一个简单的文件打开的系统调用,来分析一下Go调度器在系统调用时做了什么。文中的示例代码讲解详细,需要的可以参考一下
    2023-04-04
  • 详解Go 将在下个版本支持新型排序算法pdqsort

    详解Go 将在下个版本支持新型排序算法pdqsort

    这篇文章主要介绍了Go 将在下个版本支持新型排序算法:pdqsort,而就Go支持pdqsort算法,在HN上引起了不少的讨论,有人表示,我们研究排序算法这么久了,很惊讶我们还能想出能产生实际改进的优化方案。对此,你怎么看,快快上手体验一下吧
    2022-04-04
  • Golang WebSocket创建单独会话详细实例

    Golang WebSocket创建单独会话详细实例

    这篇文章主要给大家介绍了关于Golang WebSocket创建单独会话的相关资料,WebSocket 协议主要为了解决基于 HTTP/1.x 的 Web 应用无法实现服务端向客户端主动推送的问题,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • Golang自定义结构体转map的操作

    Golang自定义结构体转map的操作

    这篇文章主要介绍了Golang自定义结构体转map的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Go语言基础结构体用法及示例详解

    Go语言基础结构体用法及示例详解

    这篇文章主要为大家介绍了Go语言基础结构体的用法及示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • Go语言内置包的使用

    Go语言内置包的使用

    本文主要介绍了Go语言内置包的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Go1.18新特性使用Generics泛型进行流式处理

    Go1.18新特性使用Generics泛型进行流式处理

    这篇文章主要为大家介绍了Go1.18新特性使用Generics泛型进行流式处理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06

最新评论