package flag

flag包实现了命令行参数的解析。

package main

import (
	"flag"

	"fmt"
)

var flagvar int
var flagvar2 string
var b = flag.String("b", "bbbbb", "input ur name")

//自定义docValue类型
type docValue string

func (d *docValue) String() string {
	return fmt.Sprint(*d)
}

func (d *docValue) Set(value string) error {
	*d = docValue(value)
	return nil
}

var flagvar3 docValue

func init() {
	//两个命令行参数 flagname,test,他们的值分别解析给flagvar,flagvar2两个变量
	//使用方式 go run main.go -flagname=990 -test=666
	flag.IntVar(&flagvar, "flagname", 12345, "help message for flagname")
	flag.StringVar(&flagvar2, "test", "flagvar2 value", "help message for test")
}

func main() {
	//自定义了一个docValue类型的变量flagvar3,用于接受-myname参数的值
	//go run main.go -flagname=990 -test=666 -myname=aaaa
	flag.Var(&flagvar3, "myname", "help message for myname")

	//参数解析到flagvar变量中
	flag.Parse()
        fmt.Println(flag.Args(), flag.NArg())
        fmt.Printf("b:%d\n", *b)
	fmt.Println(flagvar, flagvar2, flagvar3)

}




转载于:https://my.oschina.net/tongjh/blog/389734

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值