补充 Usage 方法.
Signed-off-by: rick.chan <chenyang@autoai.com>
This commit is contained in:
parent
a061d5ac4f
commit
b9322b4e66
|
@ -77,7 +77,41 @@ flag.DurationVar(&delay, "d", 0, "时间间隔")
|
||||||
|
|
||||||
Flag 解析在第一个非 flag 参数(单个”-“不是 flag 参数)之前停止,或者在终止符”–“之后停止。
|
Flag 解析在第一个非 flag 参数(单个”-“不是 flag 参数)之前停止,或者在终止符”–“之后停止。
|
||||||
|
|
||||||
### 3.4.flag 其他函数
|
### 3.4.flag.Usage
|
||||||
|
|
||||||
|
golang 编译的二进制文件的 help 输出实质上 是调用的 flag.Usage() 方法, 而该方法是一个变量, 接受一个闭包, 源码如下:
|
||||||
|
|
||||||
|
```go
|
||||||
|
// <go src>/src/flag/flag.go:580
|
||||||
|
var Usage = func() {
|
||||||
|
fmt.Fprintf(CommandLine.Output(), "Usage of %s:\n", os.Args[0])
|
||||||
|
PrintDefaults()
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
所以你可以直接覆盖掉 flag的 Usage 方法来修改, 例如这样:
|
||||||
|
|
||||||
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"flag"
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init(){
|
||||||
|
flag.Usage = usage
|
||||||
|
flag.Parse()
|
||||||
|
}
|
||||||
|
|
||||||
|
func usage(){
|
||||||
|
fmt.Print("nginx version v1.12")
|
||||||
|
}
|
||||||
|
|
||||||
|
func main(){}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3.5.flag 其他函数
|
||||||
|
|
||||||
```go
|
```go
|
||||||
flag.Args() // 返回命令行参数后的其他参数,以 []string 类型
|
flag.Args() // 返回命令行参数后的其他参数,以 []string 类型
|
||||||
|
|
Loading…
Reference in New Issue