添加 Go 命令参数
3297 단어 go
package main
import (
"flag"
"fmt"
)
var name string
func init() {
// flag.StringVar 接受了四个参数
// 第一个参数是用于存储该命令参数值的地址
// 第二个参数指定该命令参数的名称 -name(go run main.go -name="Robot")
// 第三个参数是为了指定在未追加该命令参数时的默认值,这里是everyone
// 该命令参数的简短说明了,在打印命令说明时会用到
flag.StringVar(&name, "name", "everyone", "The greeting object")
}
// 命令参数
// 使用 go run go文件名称 -name = "Robot",例如;
// > go run main.go -name="Robot"
// > Hello, Robot!
func main() {
// 用于解析命令参数,并把他们的数值赋给相应的变量
flag.Parse()
fmt.Printf("Hello, %s!\n", name)
}
如果想查看该命令源码文件的参数说明,可以这么做:
go run main.go --help
显示结果
Usage of /var/folders/l1/14cwhjh93b75z5n2rk92pw9w0000gn/T/go-build1154249498/b001/exe/main:
-name string
The greeting object (default "everyone")
其中下面的代码是go run命令构建上述命令源码文件时临时生成的可执行文件的完整路径.
/var/folders/l1/14cwhjh93b75z5n2rk92pw9w0000gn/T/go-build1154249498/b001/exe/main
如果我们先构建这个命令源码文件再运行生成的可执行文件,像这样:
go build main.go
./main --help
输出结果为:
Usage of ./main:
-name string
The greeting object (default "everyone")
怎样自定义命令源码文件的参数使用说明
这有很多种方式,最简单的一种方式就是对变量flag.Usage重新赋值.
flag.Usage의 형식은 func(), 형식은 다음과 같습니다.
flag.Usage는 demo2.go를 실행하고 --help를 통해 실행하고 있습니다.
注意,对flag.Usage的赋值必须在调用flag.Parse函数之前.
Reference
이 문제에 관하여(添加 Go 命令参数), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/shiyd/tian-jia-go-ming-ling-can-shu-3mp9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)