使用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内存模型教科书级讲解
go官方介绍go内存模型的时候说:探究在什么条件下,goroutine 在读取一个变量的值的时,能够看到其它 goroutine 对这个变量进行的写的结果,Go内存模型规定了一些条件,在这些条件下,在一个goroutine中读取变量返回的值能够确保是另一个goroutine中对该变量写入的值
2023-03-03
谈谈Go语言的反射三定律
本文中,我们将解释Go语言中反射的运作机制。每个编程语言的反射模型不大相同,很多语言索性就不支持反射(C、C++)。由于本文是介绍Go语言的,所以当我们谈到“反射”时,默认为是Go语言中的反射。
2016-08-08
详解Golang如何实现一个环形缓冲器
环形缓冲器(ringr buffer)是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流。本文将利用Golang实现一个环形缓冲器,需要的可以参考一下
2022-09-09
Go调度器学习之系统调用详解
这篇文章肿,将以一个简单的文件打开的系统调用,来分析一下Go调度器在系统调用时做了什么。文中的示例代码讲解详细,需要的可以参考一下
2023-04-04
详解Go 将在下个版本支持新型排序算法pdqsort
这篇文章主要介绍了Go 将在下个版本支持新型排序算法:pdqsort,而就Go支持pdqsort算法,在HN上引起了不少的讨论,有人表示,我们研究排序算法这么久了,很惊讶我们还能想出能产生实际改进的优化方案。对此,你怎么看,快快上手体验一下吧
2022-04-04
Golang WebSocket创建单独会话详细实例
这篇文章主要给大家介绍了关于Golang WebSocket创建单独会话的相关资料,WebSocket 协议主要为了解决基于 HTTP/1.x 的 Web 应用无法实现服务端向客户端主动推送的问题,文中通过代码介绍的非常详细,需要的朋友可以参考下
2023-11-11
Go语言基础结构体用法及示例详解
这篇文章主要为大家介绍了Go语言基础结构体的用法及示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
2021-11-11
Go语言内置包的使用
本文主要介绍了Go语言内置包的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-07-07
最新评论