操作系统: 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. 使用DDMS中的内存监测工具Heap来优化内存

    最近在做一个照片墙的应用,涉及到很多知识,其中难点在于如何应对数量庞大的图片,这就涉及到内存管理的知识了.今天介绍的工具是DDMS中自带的Heap,它可以显示出当前引用占用的内存,剩余的内存等信息.下 ...

  2. 分享到微信、微博、QQ空间、QQ微博

    一:分享到微信 //分享到微信$("#weixin").bind("click", function () {    var p = {        url: ...

  3. SD内存卡禁止写入只读怎么办?另类SPI模式修复坏卡

    这几天很郁闷,买的32G TF卡老出问题,三星的标,不知道是不是正品,标称C10,且不说是不是真的三星和真的C10,反正测试一下容量倒是真的,价格么也比较亲民,好像是69块?   哎,可惜呀,好景不长 ...

  4. SGU536 Berland Chess

    棋盘上白子只有一个国王  黑子给出 各子遵从国际象棋的走法 黑子不动,白子不能走进黑子的攻击范围以内 问白字能不能吃掉所有的黑子 直接搜索就好了,各子状态用二进制表示 不过每个子被吃之后攻击范围会改变 ...

  5. leetcode Roman Integer

    class Solution { public: int romanToInt(string s) { if (s.length() < 1) return 0; map<char,int ...

  6. go语言之进阶篇通过map生成json

    1.通过map生成json 示例1: package main import ( "encoding/json" "fmt" ) func main() { / ...

  7. Asp.net5 Session Set扩展

    关于Asp.net 5 如何使用Session大家可以参考http://www.mikesdotnetting.com/article/270/sessions-in-asp-net-5 和http: ...

  8. sql server 由于登入失败而无法启动服务

    到控制面板——管理工具——服务,找到mssqlserver这个服务,在属性里把登陆帐户改成你目前登录windows的帐户或选择本地系统账户再重新启动服务就好了

  9. C#访问远程主机资源的方法

    实现访问远程主机的共享目录中的一个文件的解决方法: 一.调用Net use命令 // 使用方法:        //if (Connect("192.168.1.48", &quo ...

  10. JS的scrollIntoView简单使用

    scrollIntoView方法滚动当前元素,进入浏览器的可见区域 el.scrollIntoView(); // 等同于el.scrollIntoView(true) el.scrollIntoVi ...