©
本文档使用
php.cn手册 发布
import "go/build"
概述
索引
Package build 收集有关 Go 包的信息。
Go path 是包含 Go 源代码的目录树列表。它被咨询解决在标准 Go 树中找不到的导入。默认路径是 GOPATH 环境变量的值,被解释为适合于操作系统的路径列表(在 Unix 上,变量是冒号分隔的字符串;在 Windows 上是分号分隔的字符串;在 Plan 9上,是一个列表)。
Go path 中列出的每个目录必须具有规定的结构:
src/ 目录保存源代码。'src' 下面的路径决定了导入路径或可执行文件的名称。
pkg/directory 保存已安装的软件包对象。与 Go 树一样,每个目标操作系统和体系结构对都有自己的 pkg 子目录(pkg/GOOS_GOARCH)。
如果 DIR 是 Go 路径中列出的目录,那么在 DIR/src/foo/bar 中包含源文件的包可以作为“foo/bar”导入,并将其编译形式安装到“DIR/pkg/GOOS_GOARCH/foo/bar.a“(或者,对于gccgo,”DIR/pkg/gccgo/foo/libbar.a“)。
bin/directory 保存编译的命令。每个命令都是为其源目录命名的,但仅使用最后一个元素,而不是整个路径。也就是说,DIR/src/foo/quux 中源代码的命令安装在DIR/bin/quux中,而不是 DIR/bin/foo/quux 中。foo/ 被剥离,以便您可以将 DIR/bin 添加到 PATH 以获取已安装的命令。
func FilterPackage(pkg *Package, f Filter) bool
func Fprint(w io.Writer, fset *token.FileSet, x interface{}, f FieldFilter) error
func Inspect(node Node, f func(Node) bool)
func IsExported(name string) bool
func NotNilFilter(_ string, v reflect.Value) bool
func PackageExports(pkg *Package) bool
func Print(fset *token.FileSet, x interface{}) error
func SortImports(fset *token.FileSet, f *File)
func Walk(v Visitor, node Node)
type ArrayType
func (x *ArrayType) End() token.Pos
func (x *ArrayType) Pos() token.Pos
type AssignStmt
func (s *AssignStmt) End() token.Pos
func (s *AssignStmt) Pos() token.Pos
type BadDecl
func (d *BadDecl) End() token.Pos
func (d *BadDecl) Pos() token.Pos
type BadExpr
func (x *BadExpr) End() token.Pos
func (x *BadExpr) Pos() token.Pos
type BadStmt
func (s *BadStmt) End() token.Pos
func (s *BadStmt) Pos() token.Pos
type BasicLit
func (x *BasicLit) End() token.Pos
func (x *BasicLit) Pos() token.Pos
type BinaryExpr
func (x *BinaryExpr) End() token.Pos
func (x *BinaryExpr) Pos() token.Pos
type BlockStmt
func (s *BlockStmt) End() token.Pos
func (s *BlockStmt) Pos() token.Pos
type BranchStmt
func (s *BranchStmt) End() token.Pos
func (s *BranchStmt) Pos() token.Pos
type CallExpr
func (x *CallExpr) End() token.Pos
func (x *CallExpr) Pos() token.Pos
type CaseClause
func (s *CaseClause) End() token.Pos
func (s *CaseClause) Pos() token.Pos
type ChanDir
type ChanType
func (x *ChanType) End() token.Pos
func (x *ChanType) Pos() token.Pos
type CommClause
func (s *CommClause) End() token.Pos
func (s *CommClause) Pos() token.Pos
type Comment
func (c *Comment) End() token.Pos
func (c *Comment) Pos() token.Pos
type CommentGroup
func (g *CommentGroup) End() token.Pos
func (g *CommentGroup) Pos() token.Pos
func (g *CommentGroup) Text() string
type CommentMap
func NewCommentMap(fset *token.FileSet, node Node, comments []*CommentGroup) CommentMap
func (cmap CommentMap) Comments() []*CommentGroup
func (cmap CommentMap) Filter(node Node) CommentMap
func (cmap CommentMap) String() string
func (cmap CommentMap) Update(old, new Node) Node
type CompositeLit
func (x *CompositeLit) End() token.Pos
func (x *CompositeLit) Pos() token.Pos
type Decl
type DeclStmt
func (s *DeclStmt) End() token.Pos
func (s *DeclStmt) Pos() token.Pos
type DeferStmt
func (s *DeferStmt) End() token.Pos
func (s *DeferStmt) Pos() token.Pos
type Ellipsis
func (x *Ellipsis) End() token.Pos
func (x *Ellipsis) Pos() token.Pos
type EmptyStmt
func (s *EmptyStmt) End() token.Pos
func (s *EmptyStmt) Pos() token.Pos
type Expr
type ExprStmt
func (s *ExprStmt) End() token.Pos
func (s *ExprStmt) Pos() token.Pos
type Field
func (f *Field) End() token.Pos
func (f *Field) Pos() token.Pos
type FieldFilter
type FieldList
func (f *FieldList) End() token.Pos
func (f *FieldList) NumFields() int
func (f *FieldList) Pos() token.Pos
type File
func MergePackageFiles(pkg *Package, mode MergeMode) *File
func (f *File) End() token.Pos
func (f *File) Pos() token.Pos
type Filter
type ForStmt
func (s *ForStmt) End() token.Pos
func (s *ForStmt) Pos() token.Pos
type FuncDecl
func (d *FuncDecl) End() token.Pos
func (d *FuncDecl) Pos() token.Pos
type FuncLit
func (x *FuncLit) End() token.Pos
func (x *FuncLit) Pos() token.Pos
type FuncType
func (x *FuncType) End() token.Pos
func (x *FuncType) Pos() token.Pos
type GenDecl
func (d *GenDecl) End() token.Pos
func (d *GenDecl) Pos() token.Pos