flag
基本创建+使用方法
func String(name string, value string, usage string) *string
func StringVar(p *string, name string, value string, usage string)
正常声明全局变量
package main
import (
"flag"
"fmt"
)
var (
name string
age int
isMale bool
)
// 自动执行吗
func init() {
// 绑定命令行参数
flag.StringVar(&name, "name", "defaultName", "A help message for name")
flag.IntVar(&age, "age", 30, "A help message for age")
flag.BoolVar(&isMale, "isMale", false, "A help message for male")
}
func main() {
// 解析命令行参数
flag.Parse()
// 使用全局变量
fmt.Printf("Name: %s, Age: %d, IsMale: %t\n", name, age, isMale) //Name: defaultName, Age: 30, IsMale: false
}
指针
package main
import (
"flag"
"fmt"
)
var (
name *string
age *int
isMale *bool
)
// 自动执行吗
func init() {
// 绑定命令行参数
flag.String("name", "defaultName", "A help message for name")
flag.Int("age", 30, "A help message for age")
flag.Bool("isMale", false, "A help message for male")
}
func main() {
// 解析命令行参数
flag.Parse()
// 使用全局变量
fmt.Println("name:", *name)
}
短写
name := flag.String("name", "defaultName", "A help message for name")