zoukankan      html  css  js  c++  java
  • golang.flag-package

    package main
    
    import (
    	"flag"
    	"fmt"
    )
    
    //**Demo1**:
    func main() {
    	t1 := flag.Int("w", 0, "demo test")          //int变量
    	t2 := flag.String("a", "Hello", "demo test") //string变量
    	flag.Parse()                                 //Parse()代表我们开始解析参数,在Parse以后,我们是不允许再添加参数的
    	fmt.Println("t1 is ", *t1)                   //*t1使用指针,表示标签解析的结果
    	fmt.Println("t2 is ", *t2)
    	fmt.Printf("There is %d non-flag
    ", flag.NArg()) //NArg()用来输出non-flag参数的个数
    	for i, arg := range flag.Args() {                 //循环获取参数
    		fmt.Printf("%d is %s
    ", i+1, arg)
    	}
    }
    
    //**Demo2**:
    func main() {
    	// 定义几个变量,用于接收命令行的参数值
    	var user string
    	var pwd string
    	var host string
    	var port int
    	// &user 就是接收用户命令行中输入的 -u 后面的参数值
    	// "u" 就是 -u 指定的参数
    	// "" 默认值
    	// "用户名,默认为空" 说明
    	flag.StringVar(&user, "u", "", "用户名,默认为空")
    	flag.StringVar(&pwd, "pwd", "", "密码,默认为空")
    	flag.StringVar(&host, "h", "localhost", "主机名,默认为 localhost")
    	flag.IntVar(&port, "port", 3306, "duan端口号,默认3306")
    	//【必须调用】从arguments中解析注册的flag
    	flag.Parse()
    	// 输出结果
    	fmt.Printf("
     user=%v 
     pwd=%v 
     host=%v 
     port=%v 
    ", user, pwd, host, port)
    }
    
    //**Demo3**:
    func main() {
    	backupdir := flag.String("b", "/home/default_dir", "backup path")
    	debugmode := flag.Bool("d", false, "debug mode")
    	flag.Parse()
    	fmt.Println("backupdir: ", *backupdir)
    	fmt.Println("debugmode: ", *debugmode)
    }
    
    /**
      启动命令:go run main.go -b /home/backup
      输出结果:
          backup_dir:  /home/backup  // 因为指定了路径,所以覆盖了默认路径
          debug_mode:  false         // 启动命令里不带 -d 参数,所以启用默认值
    */
    
  • 相关阅读:
    C语言枚举类型使用简介
    C实现单链表(转)
    不同数据库数据类型
    Informix 常用命令
    工作了
    修改route使用有线/无线同时连接内外网
    Perl 时间函数
    Linux 系统命令
    SQL SERVER 触发器示例
    Informix 函数
  • 原文地址:https://www.cnblogs.com/kylingx/p/13278994.html
Copyright © 2011-2022 走看看