-4
-h 또는 --help 플래그를 정의하지 않았습니다. 그러나 다음 코드와 함께 플래그가있는 -h 을 사용하면 -h가 정의되어 있지 않다는 사실이 출력되지 않습니다 ... 이유는 무엇입니까?골란 플래그 패키지에 기본 플래그가 있습니까?
코드 :
package main
import (
"flag"
"fmt"
)
func showHelp() {
fmt.Println(`
Usage: CLI Template [OPTIONS]
Options:
-h, --help Print the help log.
`)
}
// If user makes wrong usage of flags, trigger ShowHelp()
func validateFlag(flag *flag.FlagSet) {
flag.Usage = func() {
showHelp()
}
}
func main() {
// Check if the current flag is valid
validateFlag(flag.CommandLine)
// Parse the command-line flags
flag.Parse()
}
명령 :
# I'm using makefile so
make all
bin/main -h
결과 :
Usage: CLI Template [OPTIONS]
Options:
-h, --help Print the help log.
예상 결과 : 플래그가 제공하지만 정의되지로 : -h
flag provided but not defined: -h
Usage: CLI Template [OPTIONS]
Options:
-h, --help Print the help log.
'flag.Usage'에 할당 할 새 함수를 정의하는 대신'showHelp'를 직접 다음과 같이 지정하십시오 :'flag.Usage = showHelp' –