MCPcopy Index your code
hub / github.com/gobyexample-cn/gobyexample / main

Function main

examples/command-line-flags/command-line-flags.go:14–42  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

12)
13
14func main() {
15
16 // 基本的标记声明仅支持字符串、整数和布尔值选项。
17 // 这里我们声明一个默认值为 `"foo"` 的字符串标志 `word` 并带有一个简短的描述。
18 // 这里的 `flag.String` 函数返回一个字符串指针(不是一个字符串值),
19 // 在下面我们会看到是如何使用这个指针的。
20 wordPtr := flag.String("word", "foo", "a string")
21
22 // 使用和声明 `word` 标志相同的方法来声明 `numb` 和 `fork` 标志。
23 numbPtr := flag.Int("numb", 42, "an int")
24 forkPtr := flag.Bool("fork", false, "a bool")
25
26 // 用程序中已有的参数来声明一个标志也是可以的。
27 // 注意在标志声明函数中需要使用该参数的指针。
28 var svar string
29 flag.StringVar(&svar, "svar", "bar", "a string var")
30
31 // 所有标志都声明完成以后,调用 `flag.Parse()` 来执行命令行解析。
32 flag.Parse()
33
34 // 这里我们将仅输出解析的选项以及后面的位置参数。
35 // 注意,我们需要使用类似 `*wordPtr` 这样的语法来对指针解引用,
36 // 从而得到选项真正的值。
37 fmt.Println("word:", *wordPtr)
38 fmt.Println("numb:", *numbPtr)
39 fmt.Println("fork:", *forkPtr)
40 fmt.Println("svar:", svar)
41 fmt.Println("tail:", flag.Args())
42}

Callers

nothing calls this directly

Calls 1

StringMethod · 0.80

Tested by

no test coverage detected