gocompiler

package module
v0.1.0-go.1.18.5.beta.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 11, 2022 License: BSD-3-Clause Imports: 11 Imported by: 2

README

gocompiler

The Go compiler as a package

Example

# the go compiler version should be the same as the one inside the library, e.g. 1.18.5 in this case
go get github.com/bir3/gocompiler@v0.1.0-go.1.18.5.beta.3
package main

import (
	"fmt"
	"log"
	"os"

    "github.com/bir3/gocompiler"
)

var goCodeStr string = `
package main

import "fmt"

func main() {
	fmt.Println("This code was compiled standalone")
}
`

func main() {

	// the go toolchain is built into the executable and must be given a chance to run
	// => avoid side effects in init() as they will occur multiple times during compilation
	if gocompiler.IsRunToolchainRequest() {
		gocompiler.RunToolchain()
		return
	}

    err := os.WriteFile("temp.go", []byte(goCodeStr), 0666)
	if err != nil {
		log.Fatal(err)
	}

	result, err := gocompiler.Run("go", "run", "temp.go")
    fmt.Fprintf(os.Stdout, result.Stdout)
    fmt.Fprintf(os.Stderr, result.Stderr)
	if err != nil {
		log.Fatal(err)
	}

	os.Remove("temp.go")
}

Limitations

  • match your go compiler version with the library go compiler version
  • avoid side effects in init() or global var initialization

Your executable will serve two purposes:

  • run your application
  • run the Go compiler toolchain via gocompiler.RunToolchain()

This means that you should avoid side-effects like opening a http port or connecting to a database as they will happen say 100 times when the Go toolchain repeatedly invokes the executable during compilation.

gocompiler as a library vs. the official go toolchain

"github.com/bir3/gocompiler" official go toolchain
Number of files 1 12006
Total size 64 MB 462 MB
go build -a 7.3 sec 6.9 sec

Note that this package is only focused on compiling go source code into an executable, while the official go toolchain provides many more tools.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DebugShowEmbed

func DebugShowEmbed()

func IsRunToolchainRequest

func IsRunToolchainRequest() bool

func RunToolchain

func RunToolchain()

Types

type Result

type Result struct {
	Stdout string
	Stderr string
}

func Run

func Run(args ...string) (Result, error)

func RunWithEnv

func RunWithEnv(env []string, args ...string) (Result, error)

Directories

Path Synopsis
src
cmd/asm
Asm, typically invoked as “go tool asm”, assembles the source file into an object file named for the basename of the argument source file with a .o suffix.
Asm, typically invoked as “go tool asm”, assembles the source file into an object file named for the basename of the argument source file with a .o suffix.
cmd/asm/flag
Package flag implements command-line flag parsing.
Package flag implements command-line flag parsing.
cmd/asm/internal/arch
Package arch defines architecture-specific information and support functions.
Package arch defines architecture-specific information and support functions.
cmd/asm/internal/asm
Package asm implements the parser and instruction generator for the assembler.
Package asm implements the parser and instruction generator for the assembler.
cmd/asm/internal/flags
Package flags implements top-level flags and the usage message for the assembler.
Package flags implements top-level flags and the usage message for the assembler.
cmd/asm/internal/lex
Package lex implements lexical analysis for the assembler.
Package lex implements lexical analysis for the assembler.
cmd/cgo
Cgo enables the creation of Go packages that call C code.
Cgo enables the creation of Go packages that call C code.
cmd/cgo/flag
Package flag implements command-line flag parsing.
Package flag implements command-line flag parsing.
cmd/compile
Compile, typically invoked as “go tool compile,” compiles a single Go package comprising the files named on the command line.
Compile, typically invoked as “go tool compile,” compiles a single Go package comprising the files named on the command line.
cmd/compile/flag
Package flag implements command-line flag parsing.
Package flag implements command-line flag parsing.
cmd/compile/internal/devirtualize
Package devirtualize implements a simple "devirtualization" optimization pass, which replaces interface method calls with direct concrete-type method calls where possible.
Package devirtualize implements a simple "devirtualization" optimization pass, which replaces interface method calls with direct concrete-type method calls where possible.
cmd/compile/internal/importer
package importer implements Import for gc-generated object files.
package importer implements Import for gc-generated object files.
cmd/compile/internal/types2
Package types declares the data types and implements the algorithms for type-checking of Go packages.
Package types declares the data types and implements the algorithms for type-checking of Go packages.
cmd/gocmd
Go is a tool for managing Go source code.
Go is a tool for managing Go source code.
cmd/gocmd/flag
Package flag implements command-line flag parsing.
Package flag implements command-line flag parsing.
cmd/gocmd/internal/auth
Package auth provides access to user-provided authentication credentials.
Package auth provides access to user-provided authentication credentials.
cmd/gocmd/internal/base
Package base defines shared basic pieces of the go command, in particular logging and the Command structure.
Package base defines shared basic pieces of the go command, in particular logging and the Command structure.
cmd/gocmd/internal/bug
Package bug implements the “go bug” command.
Package bug implements the “go bug” command.
cmd/gocmd/internal/cache
Package cache implements a build artifact cache.
Package cache implements a build artifact cache.
cmd/gocmd/internal/cfg
Package cfg holds configuration shared by multiple parts of the go command.
Package cfg holds configuration shared by multiple parts of the go command.
cmd/gocmd/internal/clean
Package clean implements the “go clean” command.
Package clean implements the “go clean” command.
cmd/gocmd/internal/cmdflag
Package cmdflag handles flag processing common to several go tools.
Package cmdflag handles flag processing common to several go tools.
cmd/gocmd/internal/doc
Package doc implements the “go doc” command.
Package doc implements the “go doc” command.
cmd/gocmd/internal/envcmd
Package envcmd implements the “go env” command.
Package envcmd implements the “go env” command.
cmd/gocmd/internal/fix
Package fix implements the “go fix” command.
Package fix implements the “go fix” command.
cmd/gocmd/internal/fmtcmd
Package fmtcmd implements the “go fmt” command.
Package fmtcmd implements the “go fmt” command.
cmd/gocmd/internal/fsys
Package fsys is an abstraction for reading files that allows for virtual overlays on top of the files on disk.
Package fsys is an abstraction for reading files that allows for virtual overlays on top of the files on disk.
cmd/gocmd/internal/generate
Package generate implements the “go generate” command.
Package generate implements the “go generate” command.
cmd/gocmd/internal/get
Package get implements the “go get” command.
Package get implements the “go get” command.
cmd/gocmd/internal/help
Package help implements the “go help” command.
Package help implements the “go help” command.
cmd/gocmd/internal/list
Package list implements the “go list” command.
Package list implements the “go list” command.
cmd/gocmd/internal/load
Package load loads packages.
Package load loads packages.
cmd/gocmd/internal/lockedfile
Package lockedfile creates and manipulates files whose contents should only change atomically.
Package lockedfile creates and manipulates files whose contents should only change atomically.
cmd/gocmd/internal/lockedfile/internal/filelock
Package filelock provides a platform-independent API for advisory file locking.
Package filelock provides a platform-independent API for advisory file locking.
cmd/gocmd/internal/modcmd
Package modcmd implements the “go mod” command.
Package modcmd implements the “go mod” command.
cmd/gocmd/internal/modfetch/codehost
Package codehost defines the interface implemented by a code hosting source, along with support code for use by implementations.
Package codehost defines the interface implemented by a code hosting source, along with support code for use by implementations.
cmd/gocmd/internal/modget
Package modget implements the module-aware “go get” command.
Package modget implements the module-aware “go get” command.
cmd/gocmd/internal/mvs
Package mvs implements Minimal Version Selection.
Package mvs implements Minimal Version Selection.
cmd/gocmd/internal/par
Package par implements parallel execution helpers.
Package par implements parallel execution helpers.
cmd/gocmd/internal/robustio
Package robustio wraps I/O functions that are prone to failure on Windows, transparently retrying errors up to an arbitrary timeout.
Package robustio wraps I/O functions that are prone to failure on Windows, transparently retrying errors up to an arbitrary timeout.
cmd/gocmd/internal/run
Package run implements the “go run” command.
Package run implements the “go run” command.
cmd/gocmd/internal/str
Package str provides string manipulation utilities.
Package str provides string manipulation utilities.
cmd/gocmd/internal/tool
Package tool implements the “go tool” command.
Package tool implements the “go tool” command.
cmd/gocmd/internal/version
Package version implements the “go version” command.
Package version implements the “go version” command.
cmd/gocmd/internal/vet
Package vet implements the “go vet” command.
Package vet implements the “go vet” command.
cmd/gocmd/internal/web
Package web defines minimal helper routines for accessing HTTP/HTTPS resources without requiring external dependencies on the net package.
Package web defines minimal helper routines for accessing HTTP/HTTPS resources without requiring external dependencies on the net package.
cmd/gocmd/internal/workcmd
Package workcmd implements the “go work” command.
Package workcmd implements the “go work” command.
cmd/internal/archive
Package archive implements reading of archive files generated by the Go toolchain.
Package archive implements reading of archive files generated by the Go toolchain.
cmd/internal/bio
Package bio implements common I/O abstractions used within the Go toolchain.
Package bio implements common I/O abstractions used within the Go toolchain.
cmd/internal/browser
Package browser provides utilities for interacting with users' browsers.
Package browser provides utilities for interacting with users' browsers.
cmd/internal/codesign
Package codesign provides basic functionalities for ad-hoc code signing of Mach-O files.
Package codesign provides basic functionalities for ad-hoc code signing of Mach-O files.
cmd/internal/diff
Package diff implements a Diff function that compare two inputs using the 'diff' tool.
Package diff implements a Diff function that compare two inputs using the 'diff' tool.
cmd/internal/dwarf
Package dwarf generates DWARF debugging information.
Package dwarf generates DWARF debugging information.
cmd/internal/edit
Package edit implements buffered position-based editing of byte slices.
Package edit implements buffered position-based editing of byte slices.
cmd/internal/gcprog
Package gcprog implements an encoder for packed GC pointer bitmaps, known as GC programs.
Package gcprog implements an encoder for packed GC pointer bitmaps, known as GC programs.
cmd/internal/obj/arm64
Package arm64 implements an ARM64 assembler.
Package arm64 implements an ARM64 assembler.
cmd/internal/obj/ppc64
Package ppc64 implements a PPC64 assembler that assembles Go asm into the corresponding PPC64 instructions as defined by the Power ISA 3.0B.
Package ppc64 implements a PPC64 assembler that assembles Go asm into the corresponding PPC64 instructions as defined by the Power ISA 3.0B.
cmd/internal/objfile
Package objfile implements portable access to OS-specific executable files.
Package objfile implements portable access to OS-specific executable files.
cmd/internal/pkgpath
Package pkgpath determines the package path used by gccgo/GoLLVM symbols.
Package pkgpath determines the package path used by gccgo/GoLLVM symbols.
cmd/internal/quoted
Package quoted provides string manipulation utilities.
Package quoted provides string manipulation utilities.
cmd/internal/test2json
Package test2json implements conversion of test binary output to JSON.
Package test2json implements conversion of test binary output to JSON.
cmd/internal/traceviewer
Package traceviewer provides definitions of the JSON data structures used by the Chrome trace viewer.
Package traceviewer provides definitions of the JSON data structures used by the Chrome trace viewer.
cmd/link
Link, typically invoked as “go tool link”, reads the Go archive or object for a package link, along with its dependencies, and combines them into an executable binary.
Link, typically invoked as “go tool link”, reads the Go archive or object for a package link, along with its dependencies, and combines them into an executable binary.
cmd/link/flag
Package flag implements command-line flag parsing.
Package flag implements command-line flag parsing.
cmd/link/internal/benchmark
Package benchmark provides a Metrics object that enables memory and CPU profiling for the linker.
Package benchmark provides a Metrics object that enables memory and CPU profiling for the linker.
cmd/link/internal/loadelf
Package loadelf implements an ELF file reader.
Package loadelf implements an ELF file reader.
cmd/link/internal/loadmacho
Package loadmacho implements a Mach-O file reader.
Package loadmacho implements a Mach-O file reader.
cmd/link/internal/loadpe
Package loadpe implements a PE/COFF file reader.
Package loadpe implements a PE/COFF file reader.
cmd/link/internal/loadxcoff
Package loadxcoff implements a XCOFF file reader.
Package loadxcoff implements a XCOFF file reader.
debug/buildinfo
Package buildinfo provides access to information embedded in a Go binary about how it was built.
Package buildinfo provides access to information embedded in a Go binary about how it was built.
debug/dwarf
Package dwarf provides access to DWARF debugging information loaded from executable files, as defined in the DWARF 2.0 Standard at http://dwarfstd.org/doc/dwarf-2.0.0.pdf
Package dwarf provides access to DWARF debugging information loaded from executable files, as defined in the DWARF 2.0 Standard at http://dwarfstd.org/doc/dwarf-2.0.0.pdf
debug/elf
Package elf implements access to ELF object files.
Package elf implements access to ELF object files.
debug/gosym
Package gosym implements access to the Go symbol and line number tables embedded in Go binaries generated by the gc compilers.
Package gosym implements access to the Go symbol and line number tables embedded in Go binaries generated by the gc compilers.
debug/macho
Package macho implements access to Mach-O object files.
Package macho implements access to Mach-O object files.
debug/pe
Package pe implements access to PE (Microsoft Windows Portable Executable) files.
Package pe implements access to PE (Microsoft Windows Portable Executable) files.
debug/plan9obj
Package plan9obj implements access to Plan 9 a.out object files.
Package plan9obj implements access to Plan 9 a.out object files.
go/ast
Package ast declares the types used to represent syntax trees for Go packages.
Package ast declares the types used to represent syntax trees for Go packages.
go/build
Package build gathers information about Go packages.
Package build gathers information about Go packages.
go/build/constraint
Package constraint implements parsing and evaluation of build constraint lines.
Package constraint implements parsing and evaluation of build constraint lines.
go/constant
Package constant implements Values representing untyped Go constants and their corresponding operations.
Package constant implements Values representing untyped Go constants and their corresponding operations.
go/doc
Package doc extracts source code documentation from a Go AST.
Package doc extracts source code documentation from a Go AST.
go/format
Package format implements standard formatting of Go source.
Package format implements standard formatting of Go source.
go/importer
Package importer provides access to export data importers.
Package importer provides access to export data importers.
go/internal/gccgoimporter
Package gccgoimporter implements Import for gccgo-generated object files.
Package gccgoimporter implements Import for gccgo-generated object files.
go/internal/gcimporter
Package gcimporter implements Import for gc-generated object files.
Package gcimporter implements Import for gc-generated object files.
go/internal/srcimporter
Package srcimporter implements importing directly from source files rather than installed packages.
Package srcimporter implements importing directly from source files rather than installed packages.
go/internal/typeparams
Package typeparams provides functions to work with type parameter data stored in the AST, while these AST changes are guarded by a build constraint.
Package typeparams provides functions to work with type parameter data stored in the AST, while these AST changes are guarded by a build constraint.
go/parser
Package parser implements a parser for Go source files.
Package parser implements a parser for Go source files.
go/printer
Package printer implements printing of AST nodes.
Package printer implements printing of AST nodes.
go/scanner
Package scanner implements a scanner for Go source text.
Package scanner implements a scanner for Go source text.
go/token
Package token defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates).
Package token defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates).
go/types
Package types declares the data types and implements the algorithms for type-checking of Go packages.
Package types declares the data types and implements the algorithms for type-checking of Go packages.
internal/buildcfg
Package buildcfg provides access to the build configuration described by the current environment.
Package buildcfg provides access to the build configuration described by the current environment.
internal/cfg
Package cfg holds configuration shared by the Go command and internal/testenv.
Package cfg holds configuration shared by the Go command and internal/testenv.
internal/cpu
Package cpu implements processor feature detection used by the Go standard library.
Package cpu implements processor feature detection used by the Go standard library.
internal/execabs
Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths.
Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths.
internal/fmtsort
Package fmtsort provides a general stable ordering mechanism for maps, on behalf of the fmt and text/template packages.
Package fmtsort provides a general stable ordering mechanism for maps, on behalf of the fmt and text/template packages.
internal/fuzz
Package fuzz provides common fuzzing functionality for tests built with "go test" and for programs that use fuzzing functionality in the testing package.
Package fuzz provides common fuzzing functionality for tests built with "go test" and for programs that use fuzzing functionality in the testing package.
internal/goarch
package goarch contains GOARCH-specific constants.
package goarch contains GOARCH-specific constants.
internal/godebug
Package godebug parses the GODEBUG environment variable.
Package godebug parses the GODEBUG environment variable.
internal/goexperiment
Package goexperiment implements support for toolchain experiments.
Package goexperiment implements support for toolchain experiments.
internal/goos
package goos contains GOOS-specific constants.
package goos contains GOOS-specific constants.
internal/intern
Package intern lets you make smaller comparable values by boxing a larger comparable value (such as a 16 byte string header) down into a globally unique 8 byte pointer.
Package intern lets you make smaller comparable values by boxing a larger comparable value (such as a 16 byte string header) down into a globally unique 8 byte pointer.
internal/lazyregexp
Package lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init.
Package lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init.
internal/lazytemplate
Package lazytemplate is a thin wrapper over text/template, allowing the use of global template variables without forcing them to be parsed at init.
Package lazytemplate is a thin wrapper over text/template, allowing the use of global template variables without forcing them to be parsed at init.
internal/nettrace
Package nettrace contains internal hooks for tracing activity in the net package.
Package nettrace contains internal hooks for tracing activity in the net package.
internal/obscuretestdata
Package obscuretestdata contains functionality used by tests to more easily work with testdata that must be obscured primarily due to golang.org/issue/34986.
Package obscuretestdata contains functionality used by tests to more easily work with testdata that must be obscured primarily due to golang.org/issue/34986.
internal/oserror
Package oserror defines errors values used in the os package.
Package oserror defines errors values used in the os package.
internal/poll
Package poll supports non-blocking I/O on file descriptors with polling.
Package poll supports non-blocking I/O on file descriptors with polling.
internal/profile
Package profile provides a representation of github.com/google/pprof/proto/profile.proto and methods to encode/decode/merge profiles in this format.
Package profile provides a representation of github.com/google/pprof/proto/profile.proto and methods to encode/decode/merge profiles in this format.
internal/race
Package race contains helper functions for manually instrumenting code for the race detector.
Package race contains helper functions for manually instrumenting code for the race detector.
internal/reflectlite
Package reflectlite implements lightweight version of reflect, not using any package except for "runtime" and "unsafe".
Package reflectlite implements lightweight version of reflect, not using any package except for "runtime" and "unsafe".
internal/singleflight
Package singleflight provides a duplicate function call suppression mechanism.
Package singleflight provides a duplicate function call suppression mechanism.
internal/syscall/windows/registry
Package registry provides access to the Windows registry.
Package registry provides access to the Windows registry.
internal/syscall/windows/sysdll
Package sysdll is an internal leaf package that records and reports which Windows DLL names are used by Go itself.
Package sysdll is an internal leaf package that records and reports which Windows DLL names are used by Go itself.
internal/sysinfo
Package sysinfo implements high level hardware information gathering that can be used for debugging or information purposes.
Package sysinfo implements high level hardware information gathering that can be used for debugging or information purposes.
internal/testenv
Package testenv provides information about what functionality is available in different testing environments run by the Go team.
Package testenv provides information about what functionality is available in different testing environments run by the Go team.
internal/testlog
Package testlog provides a back-channel communication path between tests and package os, so that cmd/go can see which environment variables and files a test consults.
Package testlog provides a back-channel communication path between tests and package os, so that cmd/go can see which environment variables and files a test consults.
internal/unsafeheader
Package unsafeheader contains header declarations for the Go runtime's slice and string implementations.
Package unsafeheader contains header declarations for the Go runtime's slice and string implementations.
internal/xcoff
Package xcoff implements access to XCOFF (Extended Common Object File Format) files.
Package xcoff implements access to XCOFF (Extended Common Object File Format) files.
xvendor/github.com/google/pprof/driver
Package driver provides an external entry point to the pprof driver.
Package driver provides an external entry point to the pprof driver.
xvendor/github.com/google/pprof/internal/binutils
Package binutils provides access to the GNU binutils.
Package binutils provides access to the GNU binutils.
xvendor/github.com/google/pprof/internal/driver
Package driver implements the core pprof functionality.
Package driver implements the core pprof functionality.
xvendor/github.com/google/pprof/internal/elfexec
Package elfexec provides utility routines to examine ELF binaries.
Package elfexec provides utility routines to examine ELF binaries.
xvendor/github.com/google/pprof/internal/graph
Package graph collects a set of samples into a directed graph.
Package graph collects a set of samples into a directed graph.
xvendor/github.com/google/pprof/internal/measurement
Package measurement export utility functions to manipulate/format performance profile sample values.
Package measurement export utility functions to manipulate/format performance profile sample values.
xvendor/github.com/google/pprof/internal/plugin
Package plugin defines the plugin implementations that the main pprof driver requires.
Package plugin defines the plugin implementations that the main pprof driver requires.
xvendor/github.com/google/pprof/internal/report
Package report summarizes a performance profile into a human-readable report.
Package report summarizes a performance profile into a human-readable report.
xvendor/github.com/google/pprof/internal/symbolizer
Package symbolizer provides a routine to populate a profile with symbol, file and line number information.
Package symbolizer provides a routine to populate a profile with symbol, file and line number information.
xvendor/github.com/google/pprof/internal/symbolz
Package symbolz symbolizes a profile using the output from the symbolz service.
Package symbolz symbolizes a profile using the output from the symbolz service.
xvendor/github.com/google/pprof/internal/transport
Package transport provides a mechanism to send requests with https cert, key, and CA.
Package transport provides a mechanism to send requests with https cert, key, and CA.
xvendor/github.com/google/pprof/profile
Package profile provides a representation of profile.proto and methods to encode/decode profiles in this format.
Package profile provides a representation of profile.proto and methods to encode/decode profiles in this format.
xvendor/github.com/ianlancetaylor/demangle
Package demangle defines functions that demangle GCC/LLVM C++ and Rust symbol names.
Package demangle defines functions that demangle GCC/LLVM C++ and Rust symbol names.
xvendor/golang.org/x/arch/ppc64/ppc64asm
Package ppc64asm implements decoding of 64-bit PowerPC machine code.
Package ppc64asm implements decoding of 64-bit PowerPC machine code.
xvendor/golang.org/x/arch/x86/x86asm
Package x86asm implements decoding of x86 machine code.
Package x86asm implements decoding of x86 machine code.
xvendor/golang.org/x/crypto/ed25519
Package ed25519 implements the Ed25519 signature algorithm.
Package ed25519 implements the Ed25519 signature algorithm.
xvendor/golang.org/x/mod/internal/lazyregexp
Package lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init.
Package lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init.
xvendor/golang.org/x/mod/modfile
Package modfile implements a parser and formatter for go.mod files.
Package modfile implements a parser and formatter for go.mod files.
xvendor/golang.org/x/mod/module
Package module defines the module.Version type along with support code.
Package module defines the module.Version type along with support code.
xvendor/golang.org/x/mod/semver
Package semver implements comparison of semantic version strings.
Package semver implements comparison of semantic version strings.
xvendor/golang.org/x/mod/sumdb
Package sumdb implements the HTTP protocols for serving or accessing a module checksum database.
Package sumdb implements the HTTP protocols for serving or accessing a module checksum database.
xvendor/golang.org/x/mod/sumdb/dirhash
Package dirhash defines hashes over directory trees.
Package dirhash defines hashes over directory trees.
xvendor/golang.org/x/mod/sumdb/note
Package note defines the notes signed by the Go module database server.
Package note defines the notes signed by the Go module database server.
xvendor/golang.org/x/mod/sumdb/tlog
Package tlog implements a tamper-evident log used in the Go module go.sum database server.
Package tlog implements a tamper-evident log used in the Go module go.sum database server.
xvendor/golang.org/x/mod/zip
Package zip provides functions for creating and extracting module zip files.
Package zip provides functions for creating and extracting module zip files.
xvendor/golang.org/x/sync/semaphore
Package semaphore provides a weighted semaphore implementation.
Package semaphore provides a weighted semaphore implementation.
xvendor/golang.org/x/sys/internal/unsafeheader
Package unsafeheader contains header declarations for the Go runtime's slice and string implementations.
Package unsafeheader contains header declarations for the Go runtime's slice and string implementations.
xvendor/golang.org/x/sys/unix
Package unix contains an interface to the low-level operating system primitives.
Package unix contains an interface to the low-level operating system primitives.
xvendor/golang.org/x/sys/windows
Package windows contains an interface to the low-level operating system primitives.
Package windows contains an interface to the low-level operating system primitives.
xvendor/golang.org/x/term
Package term provides support functions for dealing with terminals, as commonly found on UNIX systems.
Package term provides support functions for dealing with terminals, as commonly found on UNIX systems.
xvendor/golang.org/x/tools/cover
Package cover provides support for parsing coverage profiles generated by "go test -coverprofile=cover.out".
Package cover provides support for parsing coverage profiles generated by "go test -coverprofile=cover.out".
xvendor/golang.org/x/tools/go/analysis
Package analysis defines the interface between a modular static analysis and an analysis driver program.
Package analysis defines the interface between a modular static analysis and an analysis driver program.
xvendor/golang.org/x/tools/go/analysis/internal/analysisflags
Package analysisflags defines helpers for processing flags of analysis driver tools.
Package analysisflags defines helpers for processing flags of analysis driver tools.
xvendor/golang.org/x/tools/go/analysis/internal/facts
Package facts defines a serializable set of analysis.Fact.
Package facts defines a serializable set of analysis.Fact.
xvendor/golang.org/x/tools/go/analysis/passes/asmdecl
Package asmdecl defines an Analyzer that reports mismatches between assembly files and Go declarations.
Package asmdecl defines an Analyzer that reports mismatches between assembly files and Go declarations.
xvendor/golang.org/x/tools/go/analysis/passes/assign
Package assign defines an Analyzer that detects useless assignments.
Package assign defines an Analyzer that detects useless assignments.
xvendor/golang.org/x/tools/go/analysis/passes/atomic
Package atomic defines an Analyzer that checks for common mistakes using the sync/atomic package.
Package atomic defines an Analyzer that checks for common mistakes using the sync/atomic package.
xvendor/golang.org/x/tools/go/analysis/passes/bools
Package bools defines an Analyzer that detects common mistakes involving boolean operators.
Package bools defines an Analyzer that detects common mistakes involving boolean operators.
xvendor/golang.org/x/tools/go/analysis/passes/buildtag
Package buildtag defines an Analyzer that checks build tags.
Package buildtag defines an Analyzer that checks build tags.
xvendor/golang.org/x/tools/go/analysis/passes/cgocall
Package cgocall defines an Analyzer that detects some violations of the cgo pointer passing rules.
Package cgocall defines an Analyzer that detects some violations of the cgo pointer passing rules.
xvendor/golang.org/x/tools/go/analysis/passes/composite
Package composite defines an Analyzer that checks for unkeyed composite literals.
Package composite defines an Analyzer that checks for unkeyed composite literals.
xvendor/golang.org/x/tools/go/analysis/passes/copylock
Package copylock defines an Analyzer that checks for locks erroneously passed by value.
Package copylock defines an Analyzer that checks for locks erroneously passed by value.
xvendor/golang.org/x/tools/go/analysis/passes/ctrlflow
Package ctrlflow is an analysis that provides a syntactic control-flow graph (CFG) for the body of a function.
Package ctrlflow is an analysis that provides a syntactic control-flow graph (CFG) for the body of a function.
xvendor/golang.org/x/tools/go/analysis/passes/errorsas
The errorsas package defines an Analyzer that checks that the second argument to errors.As is a pointer to a type implementing error.
The errorsas package defines an Analyzer that checks that the second argument to errors.As is a pointer to a type implementing error.
xvendor/golang.org/x/tools/go/analysis/passes/framepointer
Package framepointer defines an Analyzer that reports assembly code that clobbers the frame pointer before saving it.
Package framepointer defines an Analyzer that reports assembly code that clobbers the frame pointer before saving it.
xvendor/golang.org/x/tools/go/analysis/passes/httpresponse
Package httpresponse defines an Analyzer that checks for mistakes using HTTP responses.
Package httpresponse defines an Analyzer that checks for mistakes using HTTP responses.
xvendor/golang.org/x/tools/go/analysis/passes/ifaceassert
Package ifaceassert defines an Analyzer that flags impossible interface-interface type assertions.
Package ifaceassert defines an Analyzer that flags impossible interface-interface type assertions.
xvendor/golang.org/x/tools/go/analysis/passes/inspect
Package inspect defines an Analyzer that provides an AST inspector (golang.org/x/tools/go/ast/inspector.Inspector) for the syntax trees of a package.
Package inspect defines an Analyzer that provides an AST inspector (golang.org/x/tools/go/ast/inspector.Inspector) for the syntax trees of a package.
xvendor/golang.org/x/tools/go/analysis/passes/internal/analysisutil
Package analysisutil defines various helper functions used by two or more packages beneath go/analysis.
Package analysisutil defines various helper functions used by two or more packages beneath go/analysis.
xvendor/golang.org/x/tools/go/analysis/passes/loopclosure
Package loopclosure defines an Analyzer that checks for references to enclosing loop variables from within nested functions.
Package loopclosure defines an Analyzer that checks for references to enclosing loop variables from within nested functions.
xvendor/golang.org/x/tools/go/analysis/passes/lostcancel
Package lostcancel defines an Analyzer that checks for failure to call a context cancellation function.
Package lostcancel defines an Analyzer that checks for failure to call a context cancellation function.
xvendor/golang.org/x/tools/go/analysis/passes/nilfunc
Package nilfunc defines an Analyzer that checks for useless comparisons against nil.
Package nilfunc defines an Analyzer that checks for useless comparisons against nil.
xvendor/golang.org/x/tools/go/analysis/passes/printf
Package printf defines an Analyzer that checks consistency of Printf format strings and arguments.
Package printf defines an Analyzer that checks consistency of Printf format strings and arguments.
xvendor/golang.org/x/tools/go/analysis/passes/shift
Package shift defines an Analyzer that checks for shifts that exceed the width of an integer.
Package shift defines an Analyzer that checks for shifts that exceed the width of an integer.
xvendor/golang.org/x/tools/go/analysis/passes/sigchanyzer
Package sigchanyzer defines an Analyzer that detects misuse of unbuffered signal as argument to signal.Notify.
Package sigchanyzer defines an Analyzer that detects misuse of unbuffered signal as argument to signal.Notify.
xvendor/golang.org/x/tools/go/analysis/passes/stdmethods
Package stdmethods defines an Analyzer that checks for misspellings in the signatures of methods similar to well-known interfaces.
Package stdmethods defines an Analyzer that checks for misspellings in the signatures of methods similar to well-known interfaces.
xvendor/golang.org/x/tools/go/analysis/passes/stringintconv
Package stringintconv defines an Analyzer that flags type conversions from integers to strings.
Package stringintconv defines an Analyzer that flags type conversions from integers to strings.
xvendor/golang.org/x/tools/go/analysis/passes/structtag
Package structtag defines an Analyzer that checks struct field tags are well formed.
Package structtag defines an Analyzer that checks struct field tags are well formed.
xvendor/golang.org/x/tools/go/analysis/passes/tests
Package tests defines an Analyzer that checks for common mistaken usages of tests and examples.
Package tests defines an Analyzer that checks for common mistaken usages of tests and examples.
xvendor/golang.org/x/tools/go/analysis/passes/unmarshal
The unmarshal package defines an Analyzer that checks for passing non-pointer or non-interface types to unmarshal and decode functions.
The unmarshal package defines an Analyzer that checks for passing non-pointer or non-interface types to unmarshal and decode functions.
xvendor/golang.org/x/tools/go/analysis/passes/unreachable
Package unreachable defines an Analyzer that checks for unreachable code.
Package unreachable defines an Analyzer that checks for unreachable code.
xvendor/golang.org/x/tools/go/analysis/passes/unsafeptr
Package unsafeptr defines an Analyzer that checks for invalid conversions of uintptr to unsafe.Pointer.
Package unsafeptr defines an Analyzer that checks for invalid conversions of uintptr to unsafe.Pointer.
xvendor/golang.org/x/tools/go/analysis/passes/unusedresult
Package unusedresult defines an analyzer that checks for unused results of calls to certain pure functions.
Package unusedresult defines an analyzer that checks for unused results of calls to certain pure functions.
xvendor/golang.org/x/tools/go/analysis/unitchecker
The unitchecker package defines the main function for an analysis driver that analyzes a single compilation unit during a build.
The unitchecker package defines the main function for an analysis driver that analyzes a single compilation unit during a build.
xvendor/golang.org/x/tools/go/ast/astutil
Package astutil contains common utilities for working with the Go AST.
Package astutil contains common utilities for working with the Go AST.
xvendor/golang.org/x/tools/go/ast/inspector
Package inspector provides helper functions for traversal over the syntax trees of a package, including node filtering by type, and materialization of the traversal stack.
Package inspector provides helper functions for traversal over the syntax trees of a package, including node filtering by type, and materialization of the traversal stack.
xvendor/golang.org/x/tools/go/cfg
Package cfg constructs a simple control-flow graph (CFG) of the statements and expressions within a single function.
Package cfg constructs a simple control-flow graph (CFG) of the statements and expressions within a single function.
xvendor/golang.org/x/tools/go/types/objectpath
Package objectpath defines a naming scheme for types.Objects (that is, named entities in Go programs) relative to their enclosing package.
Package objectpath defines a naming scheme for types.Objects (that is, named entities in Go programs) relative to their enclosing package.
xvendor/golang.org/x/tools/go/types/typeutil
Package typeutil defines various utilities for types, such as Map, a mapping from types.Type to interface{} values.
Package typeutil defines various utilities for types, such as Map, a mapping from types.Type to interface{} values.
xvendor/golang.org/x/tools/internal/analysisinternal
Package analysisinternal exposes internal-only fields from go/analysis.
Package analysisinternal exposes internal-only fields from go/analysis.
xvendor/golang.org/x/tools/internal/lsp/fuzzy
Package fuzzy implements a fuzzy matching algorithm.
Package fuzzy implements a fuzzy matching algorithm.
xvendor/golang.org/x/tools/internal/typeparams
Package typeparams contains common utilities for writing tools that interact with generic Go code, as introduced with Go 1.18.
Package typeparams contains common utilities for writing tools that interact with generic Go code, as introduced with Go 1.18.
xvendor/golang.org/x/tools/txtar
Package txtar implements a trivial text-based file archive format.
Package txtar implements a trivial text-based file archive format.
xvendor/golang.org/x/xerrors
Package xerrors implements functions to manipulate errors.
Package xerrors implements functions to manipulate errors.
vfs
goroot/src/archive/tar
Package tar implements access to tar archives.
Package tar implements access to tar archives.
goroot/src/archive/zip
Package zip provides support for reading and writing ZIP archives.
Package zip provides support for reading and writing ZIP archives.
goroot/src/bufio
Package bufio implements buffered I/O. It wraps an io.Reader or io.Writer object, creating another object (Reader or Writer) that also implements the interface but provides buffering and some help for textual I/O.
Package bufio implements buffered I/O. It wraps an io.Reader or io.Writer object, creating another object (Reader or Writer) that also implements the interface but provides buffering and some help for textual I/O.
goroot/src/builtin
Package builtin provides documentation for Go's predeclared identifiers.
Package builtin provides documentation for Go's predeclared identifiers.
goroot/src/bytes
Package bytes implements functions for the manipulation of byte slices.
Package bytes implements functions for the manipulation of byte slices.
goroot/src/compress/bzip2
Package bzip2 implements bzip2 decompression.
Package bzip2 implements bzip2 decompression.
goroot/src/compress/flate
Package flate implements the DEFLATE compressed data format, described in RFC 1951.
Package flate implements the DEFLATE compressed data format, described in RFC 1951.
goroot/src/compress/gzip
Package gzip implements reading and writing of gzip format compressed files, as specified in RFC 1952.
Package gzip implements reading and writing of gzip format compressed files, as specified in RFC 1952.
goroot/src/compress/lzw
Package lzw implements the Lempel-Ziv-Welch compressed data format, described in T. A. Welch, “A Technique for High-Performance Data Compression”, Computer, 17(6) (June 1984), pp 8-19.
Package lzw implements the Lempel-Ziv-Welch compressed data format, described in T. A. Welch, “A Technique for High-Performance Data Compression”, Computer, 17(6) (June 1984), pp 8-19.
goroot/src/compress/zlib
Package zlib implements reading and writing of zlib format compressed data, as specified in RFC 1950.
Package zlib implements reading and writing of zlib format compressed data, as specified in RFC 1950.
goroot/src/container/heap
Package heap provides heap operations for any type that implements heap.Interface.
Package heap provides heap operations for any type that implements heap.Interface.
goroot/src/container/list
Package list implements a doubly linked list.
Package list implements a doubly linked list.
goroot/src/container/ring
Package ring implements operations on circular lists.
Package ring implements operations on circular lists.
goroot/src/context
Package context defines the Context type, which carries deadlines, cancellation signals, and other request-scoped values across API boundaries and between processes.
Package context defines the Context type, which carries deadlines, cancellation signals, and other request-scoped values across API boundaries and between processes.
goroot/src/crypto
Package crypto collects common cryptographic constants.
Package crypto collects common cryptographic constants.
goroot/src/crypto/aes
Package aes implements AES encryption (formerly Rijndael), as defined in U.S. Federal Information Processing Standards Publication 197.
Package aes implements AES encryption (formerly Rijndael), as defined in U.S. Federal Information Processing Standards Publication 197.
goroot/src/crypto/cipher
Package cipher implements standard block cipher modes that can be wrapped around low-level block cipher implementations.
Package cipher implements standard block cipher modes that can be wrapped around low-level block cipher implementations.
goroot/src/crypto/des
Package des implements the Data Encryption Standard (DES) and the Triple Data Encryption Algorithm (TDEA) as defined in U.S. Federal Information Processing Standards Publication 46-3.
Package des implements the Data Encryption Standard (DES) and the Triple Data Encryption Algorithm (TDEA) as defined in U.S. Federal Information Processing Standards Publication 46-3.
goroot/src/crypto/dsa
Package dsa implements the Digital Signature Algorithm, as defined in FIPS 186-3.
Package dsa implements the Digital Signature Algorithm, as defined in FIPS 186-3.
goroot/src/crypto/ecdsa
Package ecdsa implements the Elliptic Curve Digital Signature Algorithm, as defined in FIPS 186-4 and SEC 1, Version 2.0.
Package ecdsa implements the Elliptic Curve Digital Signature Algorithm, as defined in FIPS 186-4 and SEC 1, Version 2.0.
goroot/src/crypto/ed25519
Package ed25519 implements the Ed25519 signature algorithm.
Package ed25519 implements the Ed25519 signature algorithm.
goroot/src/crypto/ed25519/internal/edwards25519
Package edwards25519 implements group logic for the twisted Edwards curve
Package edwards25519 implements group logic for the twisted Edwards curve
goroot/src/crypto/ed25519/internal/edwards25519/field
Package field implements fast arithmetic modulo 2^255-19.
Package field implements fast arithmetic modulo 2^255-19.
goroot/src/crypto/elliptic
Package elliptic implements the standard NIST P-224, P-256, P-384, and P-521 elliptic curves over prime fields.
Package elliptic implements the standard NIST P-224, P-256, P-384, and P-521 elliptic curves over prime fields.
goroot/src/crypto/elliptic/internal/nistec
Package nistec implements the NIST P elliptic curves from FIPS 186-4.
Package nistec implements the NIST P elliptic curves from FIPS 186-4.
goroot/src/crypto/hmac
Package hmac implements the Keyed-Hash Message Authentication Code (HMAC) as defined in U.S. Federal Information Processing Standards Publication 198.
Package hmac implements the Keyed-Hash Message Authentication Code (HMAC) as defined in U.S. Federal Information Processing Standards Publication 198.
goroot/src/crypto/internal/randutil
Package randutil contains internal randomness utilities for various crypto packages.
Package randutil contains internal randomness utilities for various crypto packages.
goroot/src/crypto/internal/subtle
Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly.
Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly.
goroot/src/crypto/md5
Package md5 implements the MD5 hash algorithm as defined in RFC 1321.
Package md5 implements the MD5 hash algorithm as defined in RFC 1321.
goroot/src/crypto/rand
Package rand implements a cryptographically secure random number generator.
Package rand implements a cryptographically secure random number generator.
goroot/src/crypto/rc4
Package rc4 implements RC4 encryption, as defined in Bruce Schneier's Applied Cryptography.
Package rc4 implements RC4 encryption, as defined in Bruce Schneier's Applied Cryptography.
goroot/src/crypto/rsa
Package rsa implements RSA encryption as specified in PKCS #1 and RFC 8017.
Package rsa implements RSA encryption as specified in PKCS #1 and RFC 8017.
goroot/src/crypto/sha1
Package sha1 implements the SHA-1 hash algorithm as defined in RFC 3174.
Package sha1 implements the SHA-1 hash algorithm as defined in RFC 3174.
goroot/src/crypto/sha256
Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4.
Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4.
goroot/src/crypto/sha512
Package sha512 implements the SHA-384, SHA-512, SHA-512/224, and SHA-512/256 hash algorithms as defined in FIPS 180-4.
Package sha512 implements the SHA-384, SHA-512, SHA-512/224, and SHA-512/256 hash algorithms as defined in FIPS 180-4.
goroot/src/crypto/subtle
Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly.
Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly.
goroot/src/crypto/tls
Package tls partially implements TLS 1.2, as specified in RFC 5246, and TLS 1.3, as specified in RFC 8446.
Package tls partially implements TLS 1.2, as specified in RFC 5246, and TLS 1.3, as specified in RFC 8446.
goroot/src/crypto/x509/internal/macos
Package macOS provides cgo-less wrappers for Core Foundation and Security.framework, similarly to how package syscall provides access to libSystem.dylib.
Package macOS provides cgo-less wrappers for Core Foundation and Security.framework, similarly to how package syscall provides access to libSystem.dylib.
goroot/src/crypto/x509/pkix
Package pkix contains shared, low level structures used for ASN.1 parsing and serialization of X.509 certificates, CRL and OCSP.
Package pkix contains shared, low level structures used for ASN.1 parsing and serialization of X.509 certificates, CRL and OCSP.
goroot/src/database/sql
Package sql provides a generic interface around SQL (or SQL-like) databases.
Package sql provides a generic interface around SQL (or SQL-like) databases.
goroot/src/database/sql/driver
Package driver defines interfaces to be implemented by database drivers as used by package sql.
Package driver defines interfaces to be implemented by database drivers as used by package sql.
goroot/src/debug/buildinfo
Package buildinfo provides access to information embedded in a Go binary about how it was built.
Package buildinfo provides access to information embedded in a Go binary about how it was built.
goroot/src/debug/dwarf
Package dwarf provides access to DWARF debugging information loaded from executable files, as defined in the DWARF 2.0 Standard at http://dwarfstd.org/doc/dwarf-2.0.0.pdf
Package dwarf provides access to DWARF debugging information loaded from executable files, as defined in the DWARF 2.0 Standard at http://dwarfstd.org/doc/dwarf-2.0.0.pdf
goroot/src/debug/elf
Package elf implements access to ELF object files.
Package elf implements access to ELF object files.
goroot/src/debug/gosym
Package gosym implements access to the Go symbol and line number tables embedded in Go binaries generated by the gc compilers.
Package gosym implements access to the Go symbol and line number tables embedded in Go binaries generated by the gc compilers.
goroot/src/debug/macho
Package macho implements access to Mach-O object files.
Package macho implements access to Mach-O object files.
goroot/src/debug/pe
Package pe implements access to PE (Microsoft Windows Portable Executable) files.
Package pe implements access to PE (Microsoft Windows Portable Executable) files.
goroot/src/debug/plan9obj
Package plan9obj implements access to Plan 9 a.out object files.
Package plan9obj implements access to Plan 9 a.out object files.
goroot/src/embed
Package embed provides access to files embedded in the running Go program.
Package embed provides access to files embedded in the running Go program.
goroot/src/encoding
Package encoding defines interfaces shared by other packages that convert data to and from byte-level and textual representations.
Package encoding defines interfaces shared by other packages that convert data to and from byte-level and textual representations.
goroot/src/encoding/ascii85
Package ascii85 implements the ascii85 data encoding as used in the btoa tool and Adobe's PostScript and PDF document formats.
Package ascii85 implements the ascii85 data encoding as used in the btoa tool and Adobe's PostScript and PDF document formats.
goroot/src/encoding/asn1
Package asn1 implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690.
Package asn1 implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690.
goroot/src/encoding/base32
Package base32 implements base32 encoding as specified by RFC 4648.
Package base32 implements base32 encoding as specified by RFC 4648.
goroot/src/encoding/base64
Package base64 implements base64 encoding as specified by RFC 4648.
Package base64 implements base64 encoding as specified by RFC 4648.
goroot/src/encoding/binary
Package binary implements simple translation between numbers and byte sequences and encoding and decoding of varints.
Package binary implements simple translation between numbers and byte sequences and encoding and decoding of varints.
goroot/src/encoding/csv
Package csv reads and writes comma-separated values (CSV) files.
Package csv reads and writes comma-separated values (CSV) files.
goroot/src/encoding/gob
Package gob manages streams of gobs - binary values exchanged between an Encoder (transmitter) and a Decoder (receiver).
Package gob manages streams of gobs - binary values exchanged between an Encoder (transmitter) and a Decoder (receiver).
goroot/src/encoding/hex
Package hex implements hexadecimal encoding and decoding.
Package hex implements hexadecimal encoding and decoding.
goroot/src/encoding/json
Package json implements encoding and decoding of JSON as defined in RFC 7159.
Package json implements encoding and decoding of JSON as defined in RFC 7159.
goroot/src/encoding/pem
Package pem implements the PEM data encoding, which originated in Privacy Enhanced Mail.
Package pem implements the PEM data encoding, which originated in Privacy Enhanced Mail.
goroot/src/encoding/xml
Package xml implements a simple XML 1.0 parser that understands XML name spaces.
Package xml implements a simple XML 1.0 parser that understands XML name spaces.
goroot/src/errors
Package errors implements functions to manipulate errors.
Package errors implements functions to manipulate errors.
goroot/src/expvar
Package expvar provides a standardized interface to public variables, such as operation counters in servers.
Package expvar provides a standardized interface to public variables, such as operation counters in servers.
goroot/src/flag
Package flag implements command-line flag parsing.
Package flag implements command-line flag parsing.
goroot/src/fmt
Package fmt implements formatted I/O with functions analogous to C's printf and scanf.
Package fmt implements formatted I/O with functions analogous to C's printf and scanf.
goroot/src/go/ast
Package ast declares the types used to represent syntax trees for Go packages.
Package ast declares the types used to represent syntax trees for Go packages.
goroot/src/go/build
Package build gathers information about Go packages.
Package build gathers information about Go packages.
goroot/src/go/build/constraint
Package constraint implements parsing and evaluation of build constraint lines.
Package constraint implements parsing and evaluation of build constraint lines.
goroot/src/go/constant
Package constant implements Values representing untyped Go constants and their corresponding operations.
Package constant implements Values representing untyped Go constants and their corresponding operations.
goroot/src/go/doc
Package doc extracts source code documentation from a Go AST.
Package doc extracts source code documentation from a Go AST.
goroot/src/go/format
Package format implements standard formatting of Go source.
Package format implements standard formatting of Go source.
goroot/src/go/importer
Package importer provides access to export data importers.
Package importer provides access to export data importers.
goroot/src/go/internal/gccgoimporter
Package gccgoimporter implements Import for gccgo-generated object files.
Package gccgoimporter implements Import for gccgo-generated object files.
goroot/src/go/internal/gcimporter
Package gcimporter implements Import for gc-generated object files.
Package gcimporter implements Import for gc-generated object files.
goroot/src/go/internal/srcimporter
Package srcimporter implements importing directly from source files rather than installed packages.
Package srcimporter implements importing directly from source files rather than installed packages.
goroot/src/go/internal/typeparams
Package typeparams provides functions to work with type parameter data stored in the AST, while these AST changes are guarded by a build constraint.
Package typeparams provides functions to work with type parameter data stored in the AST, while these AST changes are guarded by a build constraint.
goroot/src/go/parser
Package parser implements a parser for Go source files.
Package parser implements a parser for Go source files.
goroot/src/go/printer
Package printer implements printing of AST nodes.
Package printer implements printing of AST nodes.
goroot/src/go/scanner
Package scanner implements a scanner for Go source text.
Package scanner implements a scanner for Go source text.
goroot/src/go/token
Package token defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates).
Package token defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates).
goroot/src/go/types
Package types declares the data types and implements the algorithms for type-checking of Go packages.
Package types declares the data types and implements the algorithms for type-checking of Go packages.
goroot/src/hash
Package hash provides interfaces for hash functions.
Package hash provides interfaces for hash functions.
goroot/src/hash/adler32
Package adler32 implements the Adler-32 checksum.
Package adler32 implements the Adler-32 checksum.
goroot/src/hash/crc32
Package crc32 implements the 32-bit cyclic redundancy check, or CRC-32, checksum.
Package crc32 implements the 32-bit cyclic redundancy check, or CRC-32, checksum.
goroot/src/hash/crc64
Package crc64 implements the 64-bit cyclic redundancy check, or CRC-64, checksum.
Package crc64 implements the 64-bit cyclic redundancy check, or CRC-64, checksum.
goroot/src/hash/fnv
Package fnv implements FNV-1 and FNV-1a, non-cryptographic hash functions created by Glenn Fowler, Landon Curt Noll, and Phong Vo.
Package fnv implements FNV-1 and FNV-1a, non-cryptographic hash functions created by Glenn Fowler, Landon Curt Noll, and Phong Vo.
goroot/src/hash/maphash
Package maphash provides hash functions on byte sequences.
Package maphash provides hash functions on byte sequences.
goroot/src/html
Package html provides functions for escaping and unescaping HTML text.
Package html provides functions for escaping and unescaping HTML text.
goroot/src/html/template
Package template (html/template) implements data-driven templates for generating HTML output safe against code injection.
Package template (html/template) implements data-driven templates for generating HTML output safe against code injection.
goroot/src/image
Package image implements a basic 2-D image library.
Package image implements a basic 2-D image library.
goroot/src/image/color
Package color implements a basic color library.
Package color implements a basic color library.
goroot/src/image/color/palette
Package palette provides standard color palettes.
Package palette provides standard color palettes.
goroot/src/image/draw
Package draw provides image composition functions.
Package draw provides image composition functions.
goroot/src/image/gif
Package gif implements a GIF image decoder and encoder.
Package gif implements a GIF image decoder and encoder.
goroot/src/image/internal/imageutil
Package imageutil contains code shared by image-related packages.
Package imageutil contains code shared by image-related packages.
goroot/src/image/jpeg
Package jpeg implements a JPEG image decoder and encoder.
Package jpeg implements a JPEG image decoder and encoder.
goroot/src/image/png
Package png implements a PNG image decoder and encoder.
Package png implements a PNG image decoder and encoder.
goroot/src/index/suffixarray
Package suffixarray implements substring search in logarithmic time using an in-memory suffix array.
Package suffixarray implements substring search in logarithmic time using an in-memory suffix array.
goroot/src/internal/buildcfg
Package buildcfg provides access to the build configuration described by the current environment.
Package buildcfg provides access to the build configuration described by the current environment.
goroot/src/internal/cfg
Package cfg holds configuration shared by the Go command and internal/testenv.
Package cfg holds configuration shared by the Go command and internal/testenv.
goroot/src/internal/cpu
Package cpu implements processor feature detection used by the Go standard library.
Package cpu implements processor feature detection used by the Go standard library.
goroot/src/internal/execabs
Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths.
Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths.
goroot/src/internal/fmtsort
Package fmtsort provides a general stable ordering mechanism for maps, on behalf of the fmt and text/template packages.
Package fmtsort provides a general stable ordering mechanism for maps, on behalf of the fmt and text/template packages.
goroot/src/internal/fuzz
Package fuzz provides common fuzzing functionality for tests built with "go test" and for programs that use fuzzing functionality in the testing package.
Package fuzz provides common fuzzing functionality for tests built with "go test" and for programs that use fuzzing functionality in the testing package.
goroot/src/internal/goarch
package goarch contains GOARCH-specific constants.
package goarch contains GOARCH-specific constants.
goroot/src/internal/godebug
Package godebug parses the GODEBUG environment variable.
Package godebug parses the GODEBUG environment variable.
goroot/src/internal/goexperiment
Package goexperiment implements support for toolchain experiments.
Package goexperiment implements support for toolchain experiments.
goroot/src/internal/goos
package goos contains GOOS-specific constants.
package goos contains GOOS-specific constants.
goroot/src/internal/intern
Package intern lets you make smaller comparable values by boxing a larger comparable value (such as a 16 byte string header) down into a globally unique 8 byte pointer.
Package intern lets you make smaller comparable values by boxing a larger comparable value (such as a 16 byte string header) down into a globally unique 8 byte pointer.
goroot/src/internal/lazyregexp
Package lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init.
Package lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init.
goroot/src/internal/lazytemplate
Package lazytemplate is a thin wrapper over text/template, allowing the use of global template variables without forcing them to be parsed at init.
Package lazytemplate is a thin wrapper over text/template, allowing the use of global template variables without forcing them to be parsed at init.
goroot/src/internal/nettrace
Package nettrace contains internal hooks for tracing activity in the net package.
Package nettrace contains internal hooks for tracing activity in the net package.
goroot/src/internal/obscuretestdata
Package obscuretestdata contains functionality used by tests to more easily work with testdata that must be obscured primarily due to golang.org/issue/34986.
Package obscuretestdata contains functionality used by tests to more easily work with testdata that must be obscured primarily due to golang.org/issue/34986.
goroot/src/internal/oserror
Package oserror defines errors values used in the os package.
Package oserror defines errors values used in the os package.
goroot/src/internal/poll
Package poll supports non-blocking I/O on file descriptors with polling.
Package poll supports non-blocking I/O on file descriptors with polling.
goroot/src/internal/profile
Package profile provides a representation of github.com/google/pprof/proto/profile.proto and methods to encode/decode/merge profiles in this format.
Package profile provides a representation of github.com/google/pprof/proto/profile.proto and methods to encode/decode/merge profiles in this format.
goroot/src/internal/race
Package race contains helper functions for manually instrumenting code for the race detector.
Package race contains helper functions for manually instrumenting code for the race detector.
goroot/src/internal/reflectlite
Package reflectlite implements lightweight version of reflect, not using any package except for "runtime" and "unsafe".
Package reflectlite implements lightweight version of reflect, not using any package except for "runtime" and "unsafe".
goroot/src/internal/singleflight
Package singleflight provides a duplicate function call suppression mechanism.
Package singleflight provides a duplicate function call suppression mechanism.
goroot/src/internal/syscall/windows/registry
Package registry provides access to the Windows registry.
Package registry provides access to the Windows registry.
goroot/src/internal/syscall/windows/sysdll
Package sysdll is an internal leaf package that records and reports which Windows DLL names are used by Go itself.
Package sysdll is an internal leaf package that records and reports which Windows DLL names are used by Go itself.
goroot/src/internal/sysinfo
Package sysinfo implements high level hardware information gathering that can be used for debugging or information purposes.
Package sysinfo implements high level hardware information gathering that can be used for debugging or information purposes.
goroot/src/internal/testenv
Package testenv provides information about what functionality is available in different testing environments run by the Go team.
Package testenv provides information about what functionality is available in different testing environments run by the Go team.
goroot/src/internal/testlog
Package testlog provides a back-channel communication path between tests and package os, so that cmd/go can see which environment variables and files a test consults.
Package testlog provides a back-channel communication path between tests and package os, so that cmd/go can see which environment variables and files a test consults.
goroot/src/internal/unsafeheader
Package unsafeheader contains header declarations for the Go runtime's slice and string implementations.
Package unsafeheader contains header declarations for the Go runtime's slice and string implementations.
goroot/src/internal/xcoff
Package xcoff implements access to XCOFF (Extended Common Object File Format) files.
Package xcoff implements access to XCOFF (Extended Common Object File Format) files.
goroot/src/io
Package io provides basic interfaces to I/O primitives.
Package io provides basic interfaces to I/O primitives.
goroot/src/io/fs
Package fs defines basic interfaces to a file system.
Package fs defines basic interfaces to a file system.
goroot/src/io/ioutil
Package ioutil implements some I/O utility functions.
Package ioutil implements some I/O utility functions.
goroot/src/log
Package log implements a simple logging package.
Package log implements a simple logging package.
goroot/src/log/syslog
Package syslog provides a simple interface to the system log service.
Package syslog provides a simple interface to the system log service.
goroot/src/math
Package math provides basic constants and mathematical functions.
Package math provides basic constants and mathematical functions.
goroot/src/math/big
Package big implements arbitrary-precision arithmetic (big numbers).
Package big implements arbitrary-precision arithmetic (big numbers).
goroot/src/math/bits
Package bits implements bit counting and manipulation functions for the predeclared unsigned integer types.
Package bits implements bit counting and manipulation functions for the predeclared unsigned integer types.
goroot/src/math/cmplx
Package cmplx provides basic constants and mathematical functions for complex numbers.
Package cmplx provides basic constants and mathematical functions for complex numbers.
goroot/src/math/rand
Package rand implements pseudo-random number generators unsuitable for security-sensitive work.
Package rand implements pseudo-random number generators unsuitable for security-sensitive work.
goroot/src/mime
Package mime implements parts of the MIME spec.
Package mime implements parts of the MIME spec.
goroot/src/mime/multipart
Package multipart implements MIME multipart parsing, as defined in RFC 2046.
Package multipart implements MIME multipart parsing, as defined in RFC 2046.
goroot/src/mime/quotedprintable
Package quotedprintable implements quoted-printable encoding as specified by RFC 2045.
Package quotedprintable implements quoted-printable encoding as specified by RFC 2045.
goroot/src/net
Package net provides a portable interface for network I/O, including TCP/IP, UDP, domain name resolution, and Unix domain sockets.
Package net provides a portable interface for network I/O, including TCP/IP, UDP, domain name resolution, and Unix domain sockets.
goroot/src/net/http
Package http provides HTTP client and server implementations.
Package http provides HTTP client and server implementations.
goroot/src/net/http/cgi
Package cgi implements CGI (Common Gateway Interface) as specified in RFC 3875.
Package cgi implements CGI (Common Gateway Interface) as specified in RFC 3875.
goroot/src/net/http/cookiejar
Package cookiejar implements an in-memory RFC 6265-compliant http.CookieJar.
Package cookiejar implements an in-memory RFC 6265-compliant http.CookieJar.
goroot/src/net/http/fcgi
Package fcgi implements the FastCGI protocol.
Package fcgi implements the FastCGI protocol.
goroot/src/net/http/httptest
Package httptest provides utilities for HTTP testing.
Package httptest provides utilities for HTTP testing.
goroot/src/net/http/httptrace
Package httptrace provides mechanisms to trace the events within HTTP client requests.
Package httptrace provides mechanisms to trace the events within HTTP client requests.
goroot/src/net/http/httputil
Package httputil provides HTTP utility functions, complementing the more common ones in the net/http package.
Package httputil provides HTTP utility functions, complementing the more common ones in the net/http package.
goroot/src/net/http/internal
Package internal contains HTTP internals shared by net/http and net/http/httputil.
Package internal contains HTTP internals shared by net/http and net/http/httputil.
goroot/src/net/http/internal/testcert
Package testcert contains a test-only localhost certificate.
Package testcert contains a test-only localhost certificate.
goroot/src/net/http/pprof
Package pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
Package pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
goroot/src/net/internal/socktest
Package socktest provides utilities for socket testing.
Package socktest provides utilities for socket testing.
goroot/src/net/mail
Package mail implements parsing of mail messages.
Package mail implements parsing of mail messages.
goroot/src/net/netip
Package netip defines an IP address type that's a small value type.
Package netip defines an IP address type that's a small value type.
goroot/src/net/rpc
Package rpc provides access to the exported methods of an object across a network or other I/O connection.
Package rpc provides access to the exported methods of an object across a network or other I/O connection.
goroot/src/net/rpc/jsonrpc
Package jsonrpc implements a JSON-RPC 1.0 ClientCodec and ServerCodec for the rpc package.
Package jsonrpc implements a JSON-RPC 1.0 ClientCodec and ServerCodec for the rpc package.
goroot/src/net/smtp
Package smtp implements the Simple Mail Transfer Protocol as defined in RFC 5321.
Package smtp implements the Simple Mail Transfer Protocol as defined in RFC 5321.
goroot/src/net/textproto
Package textproto implements generic support for text-based request/response protocols in the style of HTTP, NNTP, and SMTP.
Package textproto implements generic support for text-based request/response protocols in the style of HTTP, NNTP, and SMTP.
goroot/src/net/url
Package url parses URLs and implements query escaping.
Package url parses URLs and implements query escaping.
goroot/src/os
Package os provides a platform-independent interface to operating system functionality.
Package os provides a platform-independent interface to operating system functionality.
goroot/src/os/exec
Package exec runs external commands.
Package exec runs external commands.
goroot/src/os/exec/internal/fdtest
Package fdtest provides test helpers for working with file descriptors across exec.
Package fdtest provides test helpers for working with file descriptors across exec.
goroot/src/os/signal
Package signal implements access to incoming signals.
Package signal implements access to incoming signals.
goroot/src/os/signal/internal/pty
Package pty is a simple pseudo-terminal package for Unix systems, implemented by calling C functions via cgo.
Package pty is a simple pseudo-terminal package for Unix systems, implemented by calling C functions via cgo.
goroot/src/os/user
Package user allows user account lookups by name or id.
Package user allows user account lookups by name or id.
goroot/src/path
Package path implements utility routines for manipulating slash-separated paths.
Package path implements utility routines for manipulating slash-separated paths.
goroot/src/path/filepath
Package filepath implements utility routines for manipulating filename paths in a way compatible with the target operating system-defined file paths.
Package filepath implements utility routines for manipulating filename paths in a way compatible with the target operating system-defined file paths.
goroot/src/plugin
Package plugin implements loading and symbol resolution of Go plugins.
Package plugin implements loading and symbol resolution of Go plugins.
goroot/src/reflect
Package reflect implements run-time reflection, allowing a program to manipulate objects with arbitrary types.
Package reflect implements run-time reflection, allowing a program to manipulate objects with arbitrary types.
goroot/src/regexp
Package regexp implements regular expression search.
Package regexp implements regular expression search.
goroot/src/regexp/syntax
Package syntax parses regular expressions into parse trees and compiles parse trees into programs.
Package syntax parses regular expressions into parse trees and compiles parse trees into programs.
goroot/src/runtime
Package runtime contains operations that interact with Go's runtime system, such as functions to control goroutines.
Package runtime contains operations that interact with Go's runtime system, such as functions to control goroutines.
goroot/src/runtime/cgo
Package cgo contains runtime support for code generated by the cgo tool.
Package cgo contains runtime support for code generated by the cgo tool.
goroot/src/runtime/debug
Package debug contains facilities for programs to debug themselves while they are running.
Package debug contains facilities for programs to debug themselves while they are running.
goroot/src/runtime/internal/atomic
Package atomic provides atomic operations, independent of sync/atomic, to the runtime.
Package atomic provides atomic operations, independent of sync/atomic, to the runtime.
goroot/src/runtime/internal/sys
package sys contains system- and configuration- and architecture-specific constants used by the runtime.
package sys contains system- and configuration- and architecture-specific constants used by the runtime.
goroot/src/runtime/internal/syscall
Package syscall provides the syscall primitives required for the runtime.
Package syscall provides the syscall primitives required for the runtime.
goroot/src/runtime/metrics
Package metrics provides a stable interface to access implementation-defined metrics exported by the Go runtime.
Package metrics provides a stable interface to access implementation-defined metrics exported by the Go runtime.
goroot/src/runtime/pprof
Package pprof writes runtime profiling data in the format expected by the pprof visualization tool.
Package pprof writes runtime profiling data in the format expected by the pprof visualization tool.
goroot/src/runtime/race
Package race implements data race detection logic.
Package race implements data race detection logic.
goroot/src/runtime/trace
Package trace contains facilities for programs to generate traces for the Go execution tracer.
Package trace contains facilities for programs to generate traces for the Go execution tracer.
goroot/src/sort
Package sort provides primitives for sorting slices and user-defined collections.
Package sort provides primitives for sorting slices and user-defined collections.
goroot/src/strconv
Package strconv implements conversions to and from string representations of basic data types.
Package strconv implements conversions to and from string representations of basic data types.
goroot/src/strings
Package strings implements simple functions to manipulate UTF-8 encoded strings.
Package strings implements simple functions to manipulate UTF-8 encoded strings.
goroot/src/sync
Package sync provides basic synchronization primitives such as mutual exclusion locks.
Package sync provides basic synchronization primitives such as mutual exclusion locks.
goroot/src/sync/atomic
Package atomic provides low-level atomic memory primitives useful for implementing synchronization algorithms.
Package atomic provides low-level atomic memory primitives useful for implementing synchronization algorithms.
goroot/src/syscall
Package syscall contains an interface to the low-level operating system primitives.
Package syscall contains an interface to the low-level operating system primitives.
goroot/src/syscall/js
Package js gives access to the WebAssembly host environment when using the js/wasm architecture.
Package js gives access to the WebAssembly host environment when using the js/wasm architecture.
goroot/src/testing
Package testing provides support for automated testing of Go packages.
Package testing provides support for automated testing of Go packages.
goroot/src/testing/fstest
Package fstest implements support for testing implementations and users of file systems.
Package fstest implements support for testing implementations and users of file systems.
goroot/src/testing/internal/testdeps
Package testdeps provides access to dependencies needed by test execution.
Package testdeps provides access to dependencies needed by test execution.
goroot/src/testing/iotest
Package iotest implements Readers and Writers useful mainly for testing.
Package iotest implements Readers and Writers useful mainly for testing.
goroot/src/testing/quick
Package quick implements utility functions to help with black box testing.
Package quick implements utility functions to help with black box testing.
goroot/src/text/scanner
Package scanner provides a scanner and tokenizer for UTF-8-encoded text.
Package scanner provides a scanner and tokenizer for UTF-8-encoded text.
goroot/src/text/tabwriter
Package tabwriter implements a write filter (tabwriter.Writer) that translates tabbed columns in input into properly aligned text.
Package tabwriter implements a write filter (tabwriter.Writer) that translates tabbed columns in input into properly aligned text.
goroot/src/text/template
Package template implements data-driven templates for generating textual output.
Package template implements data-driven templates for generating textual output.
goroot/src/text/template/parse
Package parse builds parse trees for templates as defined by text/template and html/template.
Package parse builds parse trees for templates as defined by text/template and html/template.
goroot/src/time
Package time provides functionality for measuring and displaying time.
Package time provides functionality for measuring and displaying time.
goroot/src/time/tzdata
Package tzdata provides an embedded copy of the timezone database.
Package tzdata provides an embedded copy of the timezone database.
goroot/src/unicode
Package unicode provides data and functions to test some properties of Unicode code points.
Package unicode provides data and functions to test some properties of Unicode code points.
goroot/src/unicode/utf16
Package utf16 implements encoding and decoding of UTF-16 sequences.
Package utf16 implements encoding and decoding of UTF-16 sequences.
goroot/src/unicode/utf8
Package utf8 implements functions and constants to support text encoded in UTF-8.
Package utf8 implements functions and constants to support text encoded in UTF-8.
goroot/src/unsafe
Package unsafe contains operations that step around the type safety of Go programs.
Package unsafe contains operations that step around the type safety of Go programs.
io
os

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL