最近要做Apache Thrift相关的项目。大概看了一下,觉得不难。Thrift目前已经至此和Go语言了。照着官方提供的一个例子在学。周五搞了一上午,终于编译通过了。下午去读例子源码,发现一个从来没见过的包——flag。
public static void main(String []args)func main()
虽然Go不像大Java,在主函数里面直接就能获取到命令行参数,但是Go通过flag包获取到的参数类型,不像Java那样,只能是String类型。
StringVar
func String(name string, value string, usage string) *string
func StringVar(p *string, name string, value string, usage string)
Parse
package main
import (
"flag"
)
var strFlag = flag.String("s", "", "Description")
var boolFlag = flag.Bool("bool", false, "Description of flag")
func main() {
flag.Parse()
println(*strFlag, *boolFlag)
}
Stringname-name {NAME}
运行命令及结果:
$ go run testflag.go -s 123
123 false
现在在GitHub上面新建了一个Go语言相关用例的库,里面都是平时的测试代码。从今天开始添加。
https://github.com/mnhkahn/go_code