| // Copyright 2018 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. | 
 |  | 
 | /* | 
 |  | 
 | Vet examines Go source code and reports suspicious constructs, such as Printf | 
 | calls whose arguments do not align with the format string. Vet uses heuristics | 
 | that do not guarantee all reports are genuine problems, but it can find errors | 
 | not caught by the compilers. | 
 |  | 
 | Vet is normally invoked through the go command. | 
 | This command vets the package in the current directory: | 
 |  | 
 | 	go vet | 
 |  | 
 | whereas this one vets the packages whose path is provided: | 
 |  | 
 | 	go vet my/project/... | 
 |  | 
 | Use "go help packages" to see other ways of specifying which packages to vet. | 
 |  | 
 | Vet's exit code is non-zero for erroneous invocation of the tool or if a | 
 | problem was reported, and 0 otherwise. Note that the tool does not | 
 | check every possible problem and depends on unreliable heuristics, | 
 | so it should be used as guidance only, not as a firm indicator of | 
 | program correctness. | 
 |  | 
 | To list the available checks, run "go tool vet help": | 
 |  | 
 |     asmdecl      report mismatches between assembly files and Go declarations | 
 |     assign       check for useless assignments | 
 |     atomic       check for common mistakes using the sync/atomic package | 
 |     bools        check for common mistakes involving boolean operators | 
 |     buildtag     check that +build tags are well-formed and correctly located | 
 |     cgocall      detect some violations of the cgo pointer passing rules | 
 |     composites   check for unkeyed composite literals | 
 |     copylocks    check for locks erroneously passed by value | 
 |     httpresponse check for mistakes using HTTP responses | 
 |     loopclosure  check references to loop variables from within nested functions | 
 |     lostcancel   check cancel func returned by context.WithCancel is called | 
 |     nilfunc      check for useless comparisons between functions and nil | 
 |     printf       check consistency of Printf format strings and arguments | 
 |     shift        check for shifts that equal or exceed the width of the integer | 
 |     stdmethods   check signature of methods of well-known interfaces | 
 |     structtag    check that struct field tags conform to reflect.StructTag.Get | 
 |     tests        check for common mistaken usages of tests and examples | 
 |     unmarshal    report passing non-pointer or non-interface values to unmarshal | 
 |     unreachable  check for unreachable code | 
 |     unsafeptr    check for invalid conversions of uintptr to unsafe.Pointer | 
 |     unusedresult check for unused results of calls to some functions | 
 |  | 
 | For details and flags of a particular check, such as printf, run "go tool vet help printf". | 
 |  | 
 | By default, all checks are performed. | 
 | If any flags are explicitly set to true, only those tests are run. | 
 | Conversely, if any flag is explicitly set to false, only those tests are disabled. | 
 | Thus -printf=true runs the printf check, | 
 | and -printf=false runs all checks except the printf check. | 
 |  | 
 | For information on writing a new check, see golang.org/x/tools/go/analysis. | 
 |  | 
 | Core flags: | 
 |  | 
 |   -c=N | 
 |     	display offending line plus N lines of surrounding context | 
 |   -json | 
 |     	emit analysis diagnostics (and errors) in JSON format | 
 |  | 
 | */ | 
 | package main |