[go]创建可执行文件

Anson · · 870 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

实现命令行参数

Flag

flag是Go语言的一个标准包,用来处理命令行参数。

代码

package main

import "flag"

type CmdLine struct {
    Help bool
    Host string
    MASTER string
    ETCD_ENDPOINTS string
    VERSION string
    FLANNEL_VERSION string
    DNS_IP string
}

var cmdline CmdLine

func init()  {
    flag.BoolVar(&cmdline.Help,"help", false, "show usage")
    flag.StringVar(&cmdline.Host, "host", "10.100.0.1", "KUBERNETES ADD NODE HOST")
    flag.StringVar(&cmdline.MASTER, "master", "http://k8s-master.icarbonx.net:8080", "KUBERNETES K8S_MASTER PATH")
    flag.StringVar(&cmdline.ETCD_ENDPOINTS, "etcd", "http://etcd.icarbonx.net:2379", "KUBERNETES ETCD_ENDPOINTS PATH")
    flag.StringVar(&cmdline.VERSION,"version", "v1.12.3","KUBERNETES VERSION")
    flag.StringVar(&cmdline.DNS_IP, "dns", "172.18.8.8", "KUBERNETES DNS IP")
}

func main() {
    flag.Parse()
    if cmdline.Help {
        flag.Usage()
        return
    }

    println("Help:", cmdline.Help)
    println("Host:", cmdline.Host)
    println("MASTER:", cmdline.MASTER)
    println("ETCD_ENDPOINTS:", cmdline.ETCD_ENDPOINTS)
    println("VERSION:", cmdline.VERSION)
    println("FLANNEL_VERSION:", cmdline.FLANNEL_VERSION)
    println("DNS_IP:", cmdline.DNS_IP)
}

编译创建可执行文件

go build -o commmandk8s commandk8s.go

-o: 使用-o标记可以指定输出文件(可执行文件)的名称

clipboard.png

执行可执行文件

clipboard.png


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:Anson

查看原文:[go]创建可执行文件

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

870 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传