| // Copyright 2022 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package flag_test |
| |
| import ( |
| "flag" |
| "fmt" |
| "net" |
| "os" |
| ) |
| |
| func ExampleTextVar() { |
| fs := flag.NewFlagSet("ExampleTextVar", flag.ContinueOnError) |
| fs.SetOutput(os.Stdout) |
| var ip net.IP |
| fs.TextVar(&ip, "ip", net.IPv4(192, 168, 0, 100), "`IP address` to parse") |
| fs.Parse([]string{"-ip", "127.0.0.1"}) |
| fmt.Printf("{ip: %v}\n\n", ip) |
| |
| // 256 is not a valid IPv4 component |
| ip = nil |
| fs.Parse([]string{"-ip", "256.0.0.1"}) |
| fmt.Printf("{ip: %v}\n\n", ip) |
| |
| // Output: |
| // {ip: 127.0.0.1} |
| // |
| // invalid value "256.0.0.1" for flag -ip: invalid IP address: 256.0.0.1 |
| // Usage of ExampleTextVar: |
| // -ip IP address |
| // IP address to parse (default 192.168.0.100) |
| // {ip: <nil>} |
| } |