Go语言程序的命令行参数

获取命令行参数是程序功能多样化的必要前提。

这个例子展示Go语言如何获得程序的命令行参数。

Go语言程序:

// echoarg project main.go
package main

import (
    "fmt"
    "os"
)

func main() {
    var s, sep string
    for i := 0; i < len(os.Args); i++ {
        s += sep + os.Args[i]
        sep = " "
    }
    fmt.Println(s)
}

在操作系统下运行命令”./echoarg -a -b -c -d”,例如:

~/go/src/echoarg$ ./echoarg -a -b -c -d

则会输出以下结果:

./echoarg -a -b -c -d

程序说明:

1.获得命令行参数需要使用包”os”

2.命令行参数通过包”os”传递,参数存放在切片(slice)中,其名字为os.Args[],os.Args[0]是命令本身,其他的os.Args[i]则是命令的各个选项

3.包”os”中,还有os.Stdin等,其含义一目了然

Original: https://www.cnblogs.com/tigerisland/p/7563553.html
Author: 海岛Blog
Title: Go语言程序的命令行参数

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/535746/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • go-micro开发RPC服务的方法及其运行原理

    go-micro是一个知名的golang微服务框架,最新版本是v4,这篇文章将介绍go-micro v4开发RPC服务的方法及其运作原理。 基本概念 go-micro有几个重要的概…

    Go语言 2023年5月25日
    062
  • DDIA 学习笔记

    第一章 可靠性、可扩展性、可维护性 ​ 可靠性: 系统在 困境(adversity)(硬件故障、软件故障、人为错误)中仍可正常工作(正确完成功能,并能达到期望的性能水准。 ​ 可靠…

    Go语言 2023年5月25日
    082
  • 为开源项目 go-gin-api 增加后台任务模块

    任务管理界面 (WEB) 任务调度器 任务执行器 小结 推荐阅读 任务管理界面 (WEB) 支持在 WEB &#x754C;&#x9762; 中对任务进行管理,例如…

    Go语言 2023年5月25日
    0112
  • Go语言程序记录日志

    许多软件系统运行中需要日志文件。Go语言程序中,输出日志需要使用包”log”,编写程序十分简单。 像Java语言程序,输出日志时,往往需要使用开源的软件包来…

    Go语言 2023年5月29日
    042
  • Go 语言实现 gRPC 的发布订阅模式,REST 接口和超时控制

    在多个平台的阅读量都创了新高,在 oschina 更是获得了首页推荐,阅读量到了 1w+,这已经是我单篇阅读的高峰了。 看来只要用心写还是有收获的。 这篇咱们还是从实战出发,主要介…

    Go语言 2023年5月25日
    070
  • 【golang详解】go语言GMP(GPM)原理和调度

    Goroutine调度是一个很复杂的机制,下面尝试用简单的语言描述一下Goroutine调度机制,想要对其有更深入的了解可以去研读一下源码。 首先介绍一下GMP什么意思: G &#…

    Go语言 2023年5月25日
    064
  • go泛型教程

    导读: 约束 使用方法 实现原理 跟其它语言的泛型进行对比 用例子学泛型 issues 泛型需满足 go1.18+ go使用interface作为约束,约束的意思是约束了这个泛型都…

    Go语言 2023年5月25日
    060
  • JetBrains GoLand 2022 (GO语言集成开发工具环境)

    Original: https://www.cnblogs.com/aurora-123/p/16534930.htmlAuthor: 佛系女孩Title: JetBrains G…

    Go语言 2023年5月25日
    067
  • Go 简单入门

    GO的环境配置? GOPATH GOROOT 都是干嘛用的? 配置环境跟java对比有点奇怪 https://blog.csdn.net/weixin_40563757/artic…

    Go语言 2023年5月25日
    078
  • 使用Go http重试请求

    原文连接:https://www.zhoubotong.site/post/78.html开发中对于http请求是经常遇到,一般可能网络延迟或接口返回超时,对于发起客户端的请求, …

    Go语言 2023年5月25日
    059
  • [grpc快速入门] 一 grpc生成与调用

    下载通用编译器 地址:https://github.com/protocolbuffers/protobuf/releases选择对应的版本,解压后将文件夹下bin目录配置到环境变…

    Go语言 2023年5月25日
    086
  • Go select 死锁引发的思考

    上文总结 package main import ( "fmt" ) func main() { ch := make(chan int) go func() …

    Go语言 2023年5月25日
    042
  • Golang使用swaggo自动生成Restful API文档

    相信很多程序猿和我一样不喜欢写API文档。写代码多舒服,写文档不仅要花费大量的时间,有时候还不能做到面面具全。但API文档是必不可少的,相信其重要性就不用我说了,一份含糊的文档甚至…

    Go语言 2023年5月25日
    062
  • 服务注册与发现的原理和实现

    什么是服务注册发现? 对于搞微服务的同学来说,服务注册、服务发现的概念应该不会太陌生。 简单来说,当服务A需要依赖服务B时,我们就需要告诉服务A,哪里可以调用到服务B,这就是服务注…

    Go语言 2023年5月25日
    060
  • 自己实现一个Controller——标准型

    标准Controller 上一篇通过一个简单的例子,编写了一个controller-manager,以及一个极简单的controller。从而对controller的开发有个最基本…

    Go语言 2023年5月25日
    089
  • Go编译过程

    一、 Go编译流程 二、过程说明 词法解析 读取Go源文件,将字符序列转换为符号(token)序列,比如将”:=”转换为_Define 代码中的标识符、关键…

    Go语言 2023年5月25日
    065
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球