golang使用flag添加命令行参数

golang使用flag添加命令行参数

代码:

// targs.go
package main

import (
    "log"
    "flag"
    "strings"
)

// 定义可重复参数
type strSlice []string

func (s *strSlice) Set(value string) error {
    *s = append(*s, value)
    return nil
}

func (s strSlice) String() string {
    return strings.Join(s, ",")
}

func main() {
    // 声明变量
    var ( 
        name = flag.String("name", "Lilei", "Give your name")
        age = flag.Int("age", 28, "Give your age")
        iscold = flag.Bool("iscold", false, "Are you cold")
        arglst strSlice
    )
    // 解析 arg 格式的参数
    flag.Var(&arglst, "arg", "some other arg")
    // 解析参数
    flag.Parse()

    // 输出测试
    log.Printf("name: [%s]", *name)
    log.Printf("age: [%d]", *age)
    log.Printf("iscold: [%t]", *iscold)
    log.Printf("arglst: [%v]", arglst)
}

测试:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注