Source file
src/flag/example_func_test.go
1
2
3
4
5 package flag_test
6
7 import (
8 "errors"
9 "flag"
10 "fmt"
11 "net"
12 "os"
13 )
14
15 func ExampleFunc() {
16 fs := flag.NewFlagSet("ExampleFunc", flag.ContinueOnError)
17 fs.SetOutput(os.Stdout)
18 var ip net.IP
19 fs.Func("ip", "`IP address` to parse", func(s string) error {
20 ip = net.ParseIP(s)
21 if ip == nil {
22 return errors.New("could not parse IP")
23 }
24 return nil
25 })
26 fs.Parse([]string{"-ip", "127.0.0.1"})
27 fmt.Printf("{ip: %v, loopback: %t}\n\n", ip, ip.IsLoopback())
28
29
30 fs.Parse([]string{"-ip", "256.0.0.1"})
31 fmt.Printf("{ip: %v, loopback: %t}\n\n", ip, ip.IsLoopback())
32
33
34
35
36
37
38
39
40
41 }
42
View as plain text