zoukankan      html  css  js  c++  java
  • go命令行工具制作模板

    一个快速制作go工具的模板, 可接收外部入参的

    package main
    
    import (
    	"flag"
    	"fmt"
    	"log"
    	"os"
    )
    
    const OSEXIT2 = 2
    
    var (
    	help1 *bool
    	help2 *bool
    	para1 *string
    	para2 *string
    )
    
    type config struct {
    	para1 string
    	para2 string
    }
    
    func init() {
    	help1 = flag.Bool("h", false, "help")
    	help2 = flag.Bool("help", false, "help")
    	para1 = flag.String("para1", "", " use para1")
    	para2 = flag.String("para2", "", " use para2")
    }
    
    func usage() {
    	fmt.Fprintf(os.Stderr, "usage of tool
    ")
    	flag.PrintDefaults()
    	os.Exit(OSEXIT2)
    }
    
    func parse() *config {
    	flag.Usage = usage
    	flag.Parse()
    	cfg := &config{}
    	cfg.para1 = *para1
    	cfg.para2 = *para2
    	if *help1 || *help2 {
    		flag.Usage()
    	}
    	return cfg
    }
    
    func main() {
    	log.SetPrefix("[run tool]")
    	cfg := parse()
    	log.Printf("para1: %v, para2: %v
    ", cfg.para1, cfg.para2)
    }
    

    用go build可制作出可执行文件
    用结构体config承载入参
    参数输入-h或者-help可打印出用法

  • 相关阅读:
    并发与并行
    OpenCV 图像集合操作
    C++ 输出时间
    绘制模型图
    检测图像文件是否损坏
    QImage,Mat ,QByteArray转换
    图像拼接3
    图像拼接2】
    图像拼接 Stitcher
    《将博客搬至CSDN》
  • 原文地址:https://www.cnblogs.com/chendongblog/p/14893637.html
Copyright © 2011-2022 走看看