$ go doc os.Pipe package os // import "os" func Pipe() (r *File, w *File, err error) Pipe returns a connected pair of Files; reads from r return bytes written to w. It returns the files and an error, if any. |
$ go doc os package os // import "os" Package os provides a platform-independent interface to operating system functionality. The design is Unix-like, although the error handling is Go-like; failing calls return values of type error rather than error numbers. Often, more information is available within the error. For example, if a call that takes a file name fails, such as Open or Stat, the error will include the failing file name when printed and will be of type *PathError, which may be unpacked for more information. The os interface is intended to be uniform across all operating systems. Features not generally available appear in the system-specific package syscall. Here is a simple example, opening a file and reading some of it. file, err := os.Open("file.go") // For read access. if err != nil { log.Fatal(err) } If the open fails, the error string will be self-explanatory, like open file.go: no such file or directory The file's data can then be read into a slice of bytes. Read and Write take their byte counts from the length of the argument slice. data := make([]byte, 100) count, err := file.Read(data) if err != nil { log.Fatal(err) } fmt.Printf("read %d bytes: %q\n", count, data[:count]) Note: The maximum number of concurrent operations on a File may be limited by the OS or the system. The number should be high, but exceeding it may degrade performance or cause other issues. const O_RDONLY int = syscall.O_RDONLY ... const SEEK_SET int = 0 ... const PathSeparator = '/' ... const ModeDir = fs.ModeDir ... const DevNull = "/dev/null" var ErrInvalid = fs.ErrInvalid ... var Stdin = NewFile(uintptr(syscall.Stdin), "/dev/stdin") ... var Args []string var ErrProcessDone = errors.New("os: process already finished") func Chdir(dir string) error func Chmod(name string, mode FileMode) error func Chown(name string, uid, gid int) error func Chtimes(name string, atime time.Time, mtime time.Time) error func Clearenv() func DirFS(dir string) fs.FS func Environ() []string func Executable() (string, error) func Exit(code int) func Expand(s string, mapping func(string) string) string func ExpandEnv(s string) string func Getegid() int func Getenv(key string) string func Geteuid() int func Getgid() int func Getgroups() ([]int, error) func Getpagesize() int func Getpid() int func Getppid() int func Getuid() int func Getwd() (dir string, err error) func Hostname() (name string, err error) func IsExist(err error) bool func IsNotExist(err error) bool func IsPathSeparator(c uint8) bool func IsPermission(err error) bool func IsTimeout(err error) bool func Lchown(name string, uid, gid int) error func Link(oldname, newname string) error func LookupEnv(key string) (string, bool) func Mkdir(name string, perm FileMode) error func MkdirAll(path string, perm FileMode) error func MkdirTemp(dir, pattern string) (string, error) func NewSyscallError(syscall string, err error) error func Pipe() (r *File, w *File, err error) func ReadFile(name string) ([]byte, error) func Readlink(name string) (string, error) func Remove(name string) error func RemoveAll(path string) error func Rename(oldpath, newpath string) error func SameFile(fi1, fi2 FileInfo) bool func Setenv(key, value string) error func Symlink(oldname, newname string) error func TempDir() string func Truncate(name string, size int64) error func Unsetenv(key string) error func UserCacheDir() (string, error) func UserConfigDir() (string, error) func UserHomeDir() (string, error) func WriteFile(name string, data []byte, perm FileMode) error type DirEntry = fs.DirEntry func ReadDir(name string) ([]DirEntry, error) type File struct{ ... } func Create(name string) (*File, error) func CreateTemp(dir, pattern string) (*File, error) func NewFile(fd uintptr, name string) *File func Open(name string) (*File, error) func OpenFile(name string, flag int, perm FileMode) (*File, error) type FileInfo = fs.FileInfo func Lstat(name string) (FileInfo, error) func Stat(name string) (FileInfo, error) type FileMode = fs.FileMode type LinkError struct{ ... } type PathError = fs.PathError type ProcAttr struct{ ... } type Process struct{ ... } func FindProcess(pid int) (*Process, error) func StartProcess(name string, argv []string, attr *ProcAttr) (*Process, error) type ProcessState struct{ ... } type Signal interface{ ... } var Interrupt Signal = syscall.SIGINT ... type SyscallError struct{ ... } |
$ go help Go is a tool for managing Go source code. Usage: go <command> [arguments] The commands are: bug start a bug report build compile packages and dependencies clean remove object files and cached files doc show documentation for package or symbol |
$ go help doc usage: go doc [doc flags] [package|[package.]symbol[.methodOrField]] Doc prints the documentation comments associated with the item identified by its arguments (a package, const, func, type, var, method, or struct field) followed by a one-line summary of each of the first-level items "under" that item (package-level declarations for a package, methods for a type, etc.). Doc accepts zero, one, or two arguments. Given no arguments, that is, when run as go doc it prints the package documentation for the package in the current directory. If the package is a command (package main), the exported symbols of the package are elided from the presentation unless the -cmd flag is provided. When run with one argument, the argument is treated as a Go-syntax-like representation of the item to be documented. What the argument selects depends on what is installed in GOROOT and GOPATH, as well as the form of the argument, which is schematically one of these: go doc <pkg> go doc <sym>[.<methodOrField>] go doc [<pkg>.]<sym>[.<methodOrField>] go doc [<pkg>.][<sym>.]<methodOrField> The first item in this list matched by the argument is the one whose documentation is printed. (See the examples below.) However, if the argument starts with a capital letter it is assumed to identify a symbol or method in the current directory. For packages, the order of scanning is determined lexically in breadth-first order. That is, the package presented is the one that matches the search and is nearest the root and lexically first at its level of the hierarchy. The GOROOT tree is always scanned in its entirety before GOPATH. If there is no package specified or matched, the package in the current directory is selected, so "go doc Foo" shows the documentation for symbol Foo in the current package. The package path must be either a qualified path or a proper suffix of a path. The go tool's usual package mechanism does not apply: package path elements like . and ... are not implemented by go doc. When run with two arguments, the first is a package path (full path or suffix), and the second is a symbol, or symbol with method or struct field: go doc <pkg> <sym>[.<methodOrField>] In all forms, when matching symbols, lower-case letters in the argument match either case but upper-case letters match exactly. This means that there may be multiple matches of a lower-case argument in a package if different symbols have different cases. If this occurs, documentation for all matches is printed. Examples: go doc Show documentation for current package. go doc Foo Show documentation for Foo in the current package. (Foo starts with a capital letter so it cannot match a package path.) go doc encoding/json Show documentation for the encoding/json package. go doc json Shorthand for encoding/json. go doc json.Number (or go doc json.number) Show documentation and method summary for json.Number. go doc json.Number.Int64 (or go doc json.number.int64) Show documentation for json.Number's Int64 method. go doc cmd/doc Show package docs for the doc command. go doc -cmd cmd/doc Show package docs and exported symbols within the doc command. go doc template.new Show documentation for html/template's New function. (html/template is lexically before text/template) go doc text/template.new # One argument Show documentation for text/template's New function. go doc text/template new # Two arguments Show documentation for text/template's New function. At least in the current tree, these invocations all print the documentation for json.Decoder's Decode method: go doc json.Decoder.Decode go doc json.decoder.decode go doc json.decode cd go/src/encoding/json; go doc decode Flags: -all Show all the documentation for the package. -c Respect case when matching symbols. -cmd Treat a command (package main) like a regular package. Otherwise package main's exported symbols are hidden when showing the package's top-level documentation. -short One-line representation for each symbol. -src Show the full source code for the symbol. This will display the full Go source of its declaration and definition, such as a function definition (including the body), type declaration or enclosing const block. The output may therefore include unexported details. -u Show documentation for unexported as well as exported symbols, methods, and fields. |
'Programming > golang' 카테고리의 다른 글
golang package main (0) | 2022.09.23 |
---|---|
golang REST client (0) | 2022.09.23 |
golang main arg, getopt (0) | 2022.09.15 |
golang json (0) | 2022.09.15 |
golang ini (0) | 2022.09.15 |