码迷,mamicode.com
首页 > 其他好文 > 详细

package flag

时间:2015-03-21 17:18:34      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

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

package main

import (
	"flag"

	"fmt"
)

var flagvar int
var flagvar2 string

//自定义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(flagvar, flagvar2, flagvar3)

}




package flag

标签:

原文地址:http://my.oschina.net/tongjh/blog/389734

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!