GO语言"flag"包中"Func"函数的用法及代码示例。
用法:
func Func(name, usage string, fn func(string) error)
Func 定义一个具有指定名称和使用字符串的标志。每次看到标志时,都会使用标志的值调用 fn。如果 fn 返回非 nil 错误,则将其视为标志值解析错误。
例子:
package main
import (
"errors"
"flag"
"fmt"
"net"
"os"
)
func main() {
fs := flag.NewFlagSet("ExampleFunc", flag.ContinueOnError)
fs.SetOutput(os.Stdout)
var ip net.IP
fs.Func("ip", "`IP address` to parse", func(s string) error {
ip = net.ParseIP(s)
if ip == nil {
return errors.New("could not parse IP")
}
return nil
})
fs.Parse([]string{"-ip", "127.0.0.1"})
fmt.Printf("{ip: %v, loopback: %t}\n\n", ip, ip.IsLoopback())
// 256 is not a valid IPv4 component
fs.Parse([]string{"-ip", "256.0.0.1"})
fmt.Printf("{ip: %v, loopback: %t}\n\n", ip, ip.IsLoopback())
}
输出:
{ip: 127.0.0.1, loopback: true} invalid value "256.0.0.1" for flag -ip: could not parse IP Usage of ExampleFunc: -ip IP address IP address to parse {ip: <nil>, loopback: false}
相关用法
- GO FullRune用法及代码示例
- GO FullRuneInString用法及代码示例
- GO Fscanln用法及代码示例
- GO Float.SetString用法及代码示例
- GO FileServer用法及代码示例
- GO FieldsFunc用法及代码示例
- GO Fprintln用法及代码示例
- GO FormatMediaType用法及代码示例
- GO Float64s用法及代码示例
- GO Fprintf用法及代码示例
- GO Fprint用法及代码示例
- GO Floor用法及代码示例
- GO FormatUint用法及代码示例
- GO FormatBool用法及代码示例
- GO Float64sAreSorted用法及代码示例
- GO Float.Scan用法及代码示例
- GO FormatFloat用法及代码示例
- GO FileMode用法及代码示例
- GO Float.Add用法及代码示例
- GO Frames用法及代码示例
注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Func。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。