题
任何人都可以在围棋讲解的标志吗?
flag.Parse()
var omitNewline = flag.Bool("n", false, "don't print final newline")
解决方案
请参阅 http://golang.org/pkg/flag/ 获得完整的描述。
有flag.Bool的参数是(名称字符串,布尔值,使用字符串)
名称是寻找参数,值是默认值和 使用描述了标志的一个-help参数或类似的目的,并且显示与flag.Usage()。
有关更详细的例子检查这里
其他提示
flag
用于解析命令行参数。如果传递“-n”作为命令行参数,omitNewLine将被设置为true。它的教程说明一个位更远:
已经导入的标志包,第12行创建一个全局变量来保存回声的-n标志的值。可变omitNewline具有类型*布尔,指针布尔。
标志是指定命令行程序选项的常用方法。
package main
import (
"flag"
"fmt"
)
var (
env *string
port *int
)
// Basic flag declarations are available for string, integer, and boolean options.
func init() {
env = flag.String("env", "development", "a string")
port = flag.Int("port", 3000, "an int")
}
func main() {
// Once all flags are declared, call flag.Parse() to execute the command-line parsing.
flag.Parse()
// Here we’ll just dump out the parsed options and any trailing positional
// arguments. Note that we need to dereference the points with e.g. *evn to
// get the actual option values.
fmt.Println("env:", *env)
fmt.Println("port:", *port)
}
运行程序:
go run main.go
通过首先给它不带标志试试运行程序。请注意,如果你忽略他们的标志自动采取它们的默认值。
go run command-line-flags.go --env production --port 2000
如果你提供的标记与规定的值,则默认将被传递的一个覆盖。
不隶属于 StackOverflow