【golang】命令行参数 flag

时间:2022-08-12 14:29:18

【golang】命令行参数 flag

利用flag实现一个简单的echo工具

目的为打印传入的字符串,并用传入的指定的分隔符进行分割

package main

import (
    "fmt"
    "flag"
    "strings"
)

//分隔符
var sep *string = flag.String("s"," ","use -s <separator>")

func main(){
    flag.Parse()
    fmt.Println(strings.Join(flag.Args(), *sep))
}

使用

go run main.go -s , hello world

输出

hello,world

flag.String返回一个传入字符串参数的指针,规定必须返回的是一个字符串的指针,还有bool方法等,分别返回相应的类型的指针,通过指针可以拿到指定的参数值,上面是sep分隔符

flag.String第一个参数为需要指定的可选参数形式,第二个参数是默认值,第三个参数是使用错误的时候弹出的提示