操作系统: CentOS 6.9_x64

go语言版本: 1.8.3

问题描述

需要应用程序根据不同的配置文件访问不同的服务器,希望程序启动时可以指定配置文件。

解决方案

package main

import (
"os"
"fmt"
) func main() {
argsWithProg := os.Args
if(len(argsWithProg) < ) {
fmt.Println("usage : ",argsWithProg[]," configFile")
return
}
confFile := os.Args[]
fmt.Println(argsWithProg)
fmt.Println(confFile)
}

运行效果如下:

[root@local t1]# go build argTest1.go
[root@local t1]# ./argTest1
usage : ./argTest1 configFile
[root@local t1]# ./argTest1 default.xml
[./argTest1 default.xml]
default.xml
[root@local t1]#

讨论

这里只是个简单的示例代码,其它功能请自行扩展。

好,就这些了,希望对你有帮助。

本文github地址:

https://github.com/mike-zhang/mikeBlogEssays/blob/master/2017/20170610_给go程序添加命令行参数.rst

欢迎补充

给go程序添加命令行参数的更多相关文章

  1. Spring Boot程序接收命令行参数

    Spring Boot程序接收命令行参数 输入一行,回车,触发一次.如果想要调用service层,也是可以,能调用service层,就可以做很多事,触发一次就好比调用了一次http接口一样 packa ...

  2. pytest动态添加命令行参数并获取(钩子函数:pytest_addoption)

    考虑场景: 我们的自动化用例需要支持在不同测试环境运行,有时候在dev环境运行,有时候在test环境运行: 有时候需要根据某个参数不同的参数值,执行不同的业务逻辑: 上面的场景我们都可以通过" ...

  3. Win32程序支持命令行参数的做法(转载)

    转载:http://www.cnblogs.com/lanzhi/p/6470406.html 转载:http://blog.csdn.net/kelsel/article/details/52759 ...

  4. Win32程序支持命令行参数的做法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 首先说说Win 32 API程序如何支持命令行参数.Win 32程序的入口函数为: int APIENTRY _tWi ...

  5. 在Xcode4中给程序提供命令行参数(转)

    网上xcode4的资料实在是不多,再加上xcode4相对3的改动还那么大,并且还只有英文版.我为了这个问题头痛了很久.后来终于找到了...方法如下 xcode菜单的Product->EditSc ...

  6. VS添加命令行参数main(int argc, char** argv)

  7. VS调试-添加命令行参数

    Project -> Properties -> Configuration Properties -> Debugging 在Command Arguments里填上即可

  8. pycharm调试添加命令行参数

    UI界面: Run->Edit Configurations->Parames

  9. visual studio 中添加命令行参数

    argc argv

随机推荐

  1. Office Web Apps 错误日志

    前言 最近一直在用Office Web Apps,使用过程会有各种各样的错误,众所周知,sharepoint的错误都在15/Logs下面保存错误日志,那么OWA呢? 经过查找,发现Office Web ...

  2. linux下vi操作Found a swap file by the name

    当我在linux下用vi打开Test.java文件时 [root@localhost tmp]# vi Test.java 会出现如下信息: E325: ATTENTION Found a swap  ...

  3. mysql中的日期转换函数(类似oracle中的to_date)

    最近使用mysql开发一个项目,发现没有像之前在用oracle数据中那样有to_date方法.mysql中实现日期格式化的方法为date_to_str('日期字符串','日期格式'),而且mysql中 ...

  4. 浅谈volatile与automicInteger

    在并发环境中有三个因素需要慎重考量,原子性.可见性.有序性.   voatile 保证了有序性(防止指令冲排序)和变量的内存可见性(每次都强制取主存数据),每次取到volatile变量一定是最新的  ...

  5. 用make编译openCV报错:ts_gtest.cpp:(.text._ZN7testing8internal2RED2Ev+0xf): undefined reference to 'regfreeA'

    解决方案: the cause is the google tests is looking for the generic regex.h but cmake used the regex.h fr ...

  6. Home Assistant 安装Samba和SSH server 插件

    安装 Samba 插件 Samba 是 SMB/CIFS 网络协议的重新实现, 它作为 NFS 的补充使得在 Linux 和 Windows 系统中进行文件共享.打印机共享更容易实现. Smaba 服 ...

  7. 使用mmap可以方便地添加共享内存

    使用mmap添加的共享内存. 局限: 只能在有亲属关系的进程之间使用. #include <stdio.h> #include <stdlib.h> #include < ...

  8. jQuery 重复加载,导致依赖于 jQuery的JS全部失效问题

    父页面引入子页面,子页面引入jQuery.js文件,父页面JS依赖jQuery.js   ,出现问题是,总提示JS对象无效.猜测jQuery加载顺序不是最早造成的. 父页面: 子页面: 从这里看 ,j ...

  9. SAP ABAP编程 取得用户中文名称

    有时候我们知道SAP当前用户登录的ID,也就是SY-UNAME.能够取得用户中文名称.例如以下: ***取得用户中文名称 DATA: g_sheet_jsr TYPE string.  "用 ...

  10. 对象序列化与反序列化(二进制 byte[])

    .序列化 public static byte[] SerializeObject(object obj) { if (obj == null) return null; MemoryStream m ...