...

Package builtin

import "builtin"
概览
索引

概览 ▾

builtin 包为Go的预声明标识符提供了文档. 此处列出的条目其实并不在 buildin 包中,对它们的描述只是为了让 godoc 给该语言的特殊标识符提供文档。

常量

const (
    // 无类型布尔。
    true  = 0 == 0 // Untyped bool.
    false = 0 != 0 // Untyped bool.
)

true 和 false 是两个无类型布尔值。

const iota = 0 // Untyped int. // 无类型化 int。

iota 为预声明的标识符,它表示常量声明中(一般在括号中), 当前常量规范的无类型化整数序数。它从0开始索引。

变量

var nil Type // Type must be a pointer, channel, func, interface, map, or slice type

nil 为预声明的标示符,它表示指针、信道、函数、接口、映射或切片类型的零值。

func append

func append(slice []Type, elems ...Type) []Type

append 内建函数将元素追加到切片的末尾。 若它有足够的容量,其目标就会重新切片以容纳新的元素。否则,就会分配一个新的基本数组。 append 返回更新后的切片。因此必须存储追加后的结果,通常为包含该切片自身的变量:

slice = append(slice, elem1, elem2)
slice = append(slice, anotherSlice...)

作为一种特殊的情况,将字符追加到字节数组之后是合法的,就像这样:

slice = append([]byte("hello "), "world"...)

func cap

func cap(v Type) int

cap 内建函数返回 v 的容量,这取决于具体类型:

数组:v 中元素的数量(与 len(v) 相同)。
数组指针:*v 中元素的数量(与 len(v) 相同)。
切片:在重新切片时,切片能够达到的最大长度;若 v 为 nil,len(v) 即为零。
信道:按照元素的单元,相应信道缓存的容量;若 v 为 nil,len(v) 即为零。

func close

func close(c chan<- Type)

close 内建函数关闭信道,该信道必须为双向的或只发送的。 它应当只由发送者执行,而不应由接收者执行,其效果是在最后发送的值被接收后停止该信道。 在最后一个值从已关闭的信道 c 中被接收后,任何从 c 的接收操作都会无阻塞成功, 它会返回该信道元素类型的零值。对于已关闭的信道,形式

x, ok := <-c

还会将 ok 置为 false。

func complex

func complex(r, i FloatType) ComplexType

complex 内建函数将两个浮点数值构造成一个复数值。 其实部和虚部的大小必须相同,即 float32 或 float64(或可赋予它们的),其返回值 即为对应的复数类型(complex64 对应 float32,complex128 对应 float64)。

func copy

func copy(dst, src []Type) int

copy 内建函数将元素从来源切片复制到目标切片中。 (特殊情况是,它也能将字节从字符串复制到字节切片中)。来源和目标可以重叠。 copy 返回被复制的元素数量,它会是 len(src) 和 len(dst) 中较小的那个。

func delete

func delete(m map[Type]Type1, key Type)

delete 内建函数按照指定的键将元素从映射中删除。 若 m 为 nil 或无此元素,delete 即为空操作。

func imag

func imag(c ComplexType) FloatType

imag 内建函数返回复数 c 的虚部。 其返回值为对应于 c 类型的浮点数。

func len

func len(v Type) int

len 内建函数返回 v 的长度,这取决于具体类型:

数组:v 中元素的数量。
数组指针:*v 中元素的数量(即使 v 为 nil)。
切片或映射:v 中元素的数量;若 v 为 nil,len(v) 即为零。
字符串:v 中字节的数量。
信道:信道缓存中队列(未读取)元素的数量;若 v 为 nil,len(v) 即为零。

func make

func make(Type, size IntegerType) Type

make 内建函数分配并初始化一个类型为切片、映射、或(仅仅为)信道的对象。 与 new 相同的是,其第一个实参为类型,而非值。不同的是,make 的返回类型 与其参数相同,而非指向它的指针。其具体结果取决于具体的类型:

切片:size 指定了其长度。该切片的容量等于其长度。第二个整数实参可用来指定
	不同的容量;它必须不小于其长度,因此 make([]int, 0, 10) 会分配一个长度为0,
	容量为10的切片。
映射:初始分配的创建取决于 size,但产生的映射长度为0。size 可以省略,这种情况下
	就会分配一个小的起始大小。
信道:信道的缓存根据指定的缓存容量初始化。若 size 为零或被省略,该信道即为无缓存的。

func new

func new(Type) *Type

new 内建函数分配内存。 其第一个实参为类型,而非值,其返回值为指向该类型的新分配的零值的指针。

func panic

func panic(v interface{})

panic 内建函数停止当前Go程的正常执行。 当函数 F 调用 panic 时,F 的正常执行就会立刻停止。任何由 F 推迟的函数执行都会 按照一般的方式运行,接着 F 返回给其调用者。对于其调用者 G,F 的请求行为如同 对 panic 的调用,即终止 G 的执行并运行任何被推迟的函数。这会持续到该Go程 中所有函数都按相反的顺序停止执行之后。此时,该程序会被终止,而错误情况会被报告, 包括引发该恐慌的实参值。此终止序列称为恐慌过程,并可通过内建函数 recover 控制。

func print

func print(args ...Type)

The print built-in function formats its arguments in an implementation- specific way and writes the result to standard error. Print is useful for bootstrapping and debugging; it is not guaranteed to stay in the language.

func println

func println(args ...Type)

The println built-in function formats its arguments in an implementation- specific way and writes the result to standard error. Spaces are always added between arguments and a newline is appended. Println is useful for bootstrapping and debugging; it is not guaranteed to stay in the language.

func real

func real(c ComplexType) FloatType

real 内建函数返回复数 c 的实部。 其返回值为对应于 c 类型的浮点数。

func recover

func recover() interface{}

recover 内建函数允许程序管理恐慌过程中的Go程。 在已推迟函数(而不是任何被它调用的函数)中,执行 recover 调用会通过恢复正常的执行 并取回传至 panic 调用的错误值来停止该恐慌过程序列。若 recover 在已推迟函数之外被调用, 它将不会停止恐慌过程序列。在此情况下,或当该Go程不在恐慌过程中时,或提供给 panic 的实参为 nil 时,recover 就会返回 nil。因此 recover 的返回值就报告了该Go程是否 在恐慌过程中。

type ComplexType

type ComplexType complex64

ComplexType 在此只用作文档目的。 它代表所有的复数类型:即 complex64 或 complex128。

type FloatType

type FloatType float32

FloatType 在此只用作文档目的。 它代表所有的浮点数类型:即 float32 或 float64。

type IntegerType

type IntegerType int

IntegerType 在此只用作文档目的。 它代表所有的整数类型:如 int、uint、int8 等。

type Type

type Type int

Type 在此只用作文档目的。 它代表所有Go的类型,但对于任何给定的函数请求来说,它都代表与其相同的类型。

type Type1

type Type1 int

Type1 在此只用作文档目的。 它代表所有Go的类型,但对于任何给定的函数请求来说,它都代表与其相同的类型。

type bool

type bool bool

bool 是布尔值的集合,即 true 和 false。

type byte

type byte byte

byte 为 uint8 的别名,它完全等价于 uint8。 习惯上用它来区别字节值和8位无符号整数值。

type complex128

type complex128 complex128

complex128 是所有实部和虚部为 float64 的复数集合。

type complex64

type complex64 complex64

complex64 是所有实部和虚部为 float32 的复数集合。

type error

type error interface {
    Error() string
}

error 内建接口类型是表示错误情况的约定接口,nil 值即表示没有错误。

type float32

type float32 float32

float32 是所有IEEE-754 32位浮点数的集合。

type float64

type float64 float64

float64 是所有IEEE-754 64位浮点数的集合。

type int

type int int

int 是带符号整数类型,其大小至少为32位。 它是一种确切的类型,而不是 int32 的别名。

type int16

type int16 int16

int16 是所有带符号16位整数的集合。 范围:-32768 至 32767。

type int32

type int32 int32

int32 是所有带符号32位整数的集合。 范围:-2147483648 至 2147483647。

type int64

type int64 int64

int64 是所有带符号64位整数的集合。 范围:-9223372036854775808 至 9223372036854775807。

type int8

type int8 int8

int8 是所有带符号8位整数的集合。 范围:-128 至 127。

type rune

type rune rune

rune 为 int32 的别名,它完全等价于 int32。 习惯上用它来区别字符值和整数值。

type string

type string string

string 是所有8位字节的字符串集合,习惯上用于代表以UTF-8编码的文本,但并不必须如此。 string 可为空,但不为 nil。string 类型的值是不变的。

type uint

type uint uint

uint 是无符号整数类型,其大小至少为32位。 它是一种确切的类型,而不是 uint32 的别名。

type uint16

type uint16 uint16

uint16 是所有无符号16位整数的集合。 范围:0 至 65535。

type uint32

type uint32 uint32

uint32 是所有无符号32位整数的集合。 范围:0 至 4294967295。

type uint64

type uint64 uint64

uint64 是所有无符号64位整数的集合。 范围:0 至 18446744073709551615。

type uint8

type uint8 uint8

uint8 是所有无符号8位整数的集合。 范围:0 至 255。

type uintptr

type uintptr uintptr

uintptr 为整数类型,其大小足以容纳任何指针的位模式。