内置包 | builtin
内置包
import "builtin"
- 概述
- 索引
概述
内置包提供了 Go 的预先声明的标识符的文档。这里记录的项目实际上并不包含在内置包中,但是这里的描述允许 godoc 为语言的特殊标识符提供文档。
索引
- Constants(常量)
- Variables(变量)
- func append(slice []Type, elems ...Type) []Type
- func cap(v Type) int
- func close(c chan<- Type)
- func complex(r, i FloatType) ComplexType
- func copy(dst, src []Type) int
- func delete(m map[Type]Type1, key Type)
- func imag(c ComplexType) FloatType
- func len(v Type) int
- func make(t Type, size ...IntegerType) Type
- func new(Type) *Type
- func panic(v interface{})
- func print(args ...Type)
- func println(args ...Type)
- func real(c ComplexType) FloatType
- func recover() interface{}
- type ComplexType
- type FloatType
- type IntegerType
- type Type
- type Type1
- type bool
- type byte
- type complex128
- type complex64
- type error
- type float32
- type float64
- type int
- type int16
- type int32
- type int64
- type int8
- type rune
- type string
- type uint
- type uint16
- type uint32
- type uint64
- type uint8
- type uintptr
包文件
常量
true 和 false 是两个无类型的布尔值。
const (
true = 0 == 0 // 无类型布尔。
false = 0 != 0 // 无类型布尔。
)
iota 是一个预先声明的标识符,表示一个(通常为括号的)const声明中当前 const 规范的无类型整数序数。它是零索引的。
const iota = 0 // 无类型int。
变量
nil 是预先声明的标识符,表示指针,通道,func,接口,映射或片类型的零值。
var nil Type // 类型必须是指针,通道,函数,接口,映射或片类型
func append(查看源代码)
func append(slice []Type, elems ...Type) []Type
追加内置函数将元素追加到切片的末尾。如果它具有足够的容量,目的地就会重新适应新的元素。如果没有,则会分配一个新的基础数组。追加返回更新的切片。因此有必要将追加结果存储在保存片本身的变量中:
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为零,则 cap(v) 为零。
通道:通道缓冲容量,以元素为单位;
如果v为零,则 cap(v) 为零。
func close(查看源代码)
func close(c chan<- Type)
关闭的内置函数关闭一个通道,该通道必须是双向的或只发送的。它只能由发送者执行,而不能由接收者执行,并且在收到最后一次发送的值后关闭频道。在从关闭的通道c接收到最后一个值后,从c接收到的任何数据将不会阻塞,返回通道元素的零值。表格
x, ok := <-c
对于一个封闭的路线,也可以设置为 false。
func complex(查看源代码)
func complex(r, i FloatType) ComplexType
复杂的内置函数从两个浮点值构造一个复数值。实部和虚部必须具有相同的大小,无论是 float32 还是 float64(或可分配给它们),并且返回值将是相应的复杂类型(complex64 代表float32,complex128 代表 float64)。
func copy(查看源代码)
func copy(dst, src []Type) int
复制内置函数将源片段中的元素复制到目标片段中。(作为一种特殊情况,它也会将字符串中的字节复制到一段字节中)源和目标可能会重叠。复制返回复制的元素数量,这是 len(src)和len(dst) 的最小值。
func delete(查看源代码)
func delete(m map[Type]Type1, key Type)
删除内置函数从地图中删除具有指定键 (mkey) 的元素。如果 m 为零或不存在这样的元素,则删除是无操作的。
func imag(查看源代码)
func imag(c ComplexType) FloatType
图像内置函数返回复数 c 的虚部。返回值将是与 c 类型相对应的浮点类型。
func len(查看源代码)
func len(v Type) int
len 内置函数根据其类型返回 v 的长度:
数组: v 中的元素数目(和 len(v)一样)
指向数组的指针:*v 中的元素数(与 len(v)相同)。
切片,或map: 重新切片时切片可达到的最大长度;
如果v为零,则 cap(v) 为零。
通道:通道缓冲容量,以元素为单位;
如果v为零,则 cap(v) 为零。
func make(查看源代码)
func make(t Type, size ...IntegerType) Type
make 内置函数分配并初始化 slice ,map 或 (只是)chan类型的对象。像新的一样,第一个参数是一个类型,而不是一个值。与 new 不同,make 的返回类型与其参数类型相同,而不是指向它的指针。结果的规格取决于类型:
切片:大小指定长度。切片的容量是
等于它的长度。可以提供第二整数参数
指定不同的容量; 它必须不小于
length,所以make([] int,0,10)分配一个长度为0的切片
容量10。
地图:分配一个空地图,有足够的空间来容纳
指定的元素数量。在这种情况下,可以省略尺寸
分配一个小的起始大小。
通道:通道的缓冲区使用指定的初始化
缓冲能力。如果为零,或者省略了大小,则通道为
无缓冲。
func new(查看源代码)
func new(Type) *Type
新的内置函数分配内存。第一个参数是一个类型,而不是一个值,返回的值是一个指向该类型的新分配的零值的指针。
func panic(查看源代码)
func panic(v interface{})
panic 内置函数会停止当前 goroutine 的正常执行。当函数F调用 panic 时,F 的正常执行立即停止。任何由 F 推迟执行的函数都以通常的方式运行,然后 F 返回给它的调用者。对于调用者 G 来说,F 的调用就像调用 panic 一样,终止 G 的执行并运行任何延迟的函数。这种情况会持续下去,直到正在执行的 goroutine 中的所有功能都以相反的顺序停止。此时,程序终止并报告错误情况,包括 panic 的参数值。该终止序列被称为 panicking 并且可以通过内置的功能恢复来控制。
func print(查看源代码)
func print(args ...Type)
print 内置函数以实现特定的方式格式化其参数,并将结果写入标准错误。print 对引导和调试很有用;它不保证维持语言。
func println(查看源代码)
func println(args ...Type)
println 内置函数以实现特定的方式格式化其参数,并将结果写入标准错误。总是在参数之间添加空格,并附加一个换行符。Println 对引导和调试很有用;它不保证维持语言。
func real(查看源代码)
func real(c ComplexType) FloatType
real 的内置函数返回复数 c 的实部。返回值将是与 c 类型相对应的浮点类型。
func recover(查看源代码)
func recover() interface{}
recover 内置函数允许程序管理 panicking 程序的行为。执行一个调用来恢复一个延迟函数内部(但不是由它调用的任何函数),通过 recover 正常执行来停止 panicking 序列,并检索传递给 panic 调用的错误值。如果在延期功能之外调用 recover,它不会停止 panicking 序列。在这种情况下,或者当 goroutine 没有 panic 时,或者提供给 panic 的参数为零时,恢复返回 nil。因此,恢复报告的返回值报告 goroutine 是否为 panicking。
type ComplexType(查看源代码)
ComplexType 仅用于文档目的。它可以用于复杂类型:complex64 或 complex128。
type ComplexType complex64
type FloatType(查看源代码)
FloatType 仅用于文档目的。它是 float 类型的一个替代品:float32 或 float64。
type FloatType float32
type IntegerType(查看源代码)
IntegerType 仅用于文档目的。它是任何整数类型的替身:int,uint,int8 等
type IntegerType int
type Type(查看源代码)
Type 仅用于文档目的。它是任何 Go 类型的替身,但对于任何给定的函数调用都表示相同的类型。
type Type int
type Type1(查看源代码)
Type1 仅用于文档目的。它是任何 Go 类型的替身,但对于任何给定的函数调用都表示相同的类型。
type Type1 int
type bool(查看源代码)
bool 是一组布尔值,true 和 false 。
type bool bool
type byte(查看源代码)
byte 是 uint8 的别名,在所有方面等同于 uint8 。按照惯例,它用于区分8位无符号整数值的字节值。
type byte byte // Really: type byte = uint8 (参见 golang.org/issue/21601)
type complex128(查看源代码)
complex128 是所有具有 float64 实部和虚部的复数的集合。
type complex128 complex128
type complex64(查看源代码)
complex64 是带有 float32 实部和虚部的所有复数的集合。
type complex64 complex64
type error(查看源代码)
error 内置接口类型是用于表示错误条件的常规接口,其中nil值表示无错误。
type error interface {
Error() string
}
type float32(查看源代码)
float32 是所有IEEE-754 32位浮点数的集合。
type float32 float32
type float64(查看源代码)
float64 是所有 IEEE-754 64位浮点数的集合。
type float64 float64
type int(查看源代码)
int 是一个至少32位大小的有符号整数类型。不过,它是一个独特的类型,而不是 int32 的别名。
type int int
type int16(查看源代码)
int16 是所有带符号16位整数的集合。范围:-32768到32767。
type int16 int16
type int32(查看源代码)
int32 是所有带符号的32位整数的集合。范围:-2147483648到2147483647。
type int32 int32
type int64(查看源代码)
int64 是所有有符号的64位整数的集合。范围:-9223372036854775808到9223372036854775807。
type int64 int64
type int8(查看源代码)
int8 是所有带符号的8位整数的集合。范围:-128至127。
type int8 int8
type rune(查看源代码)
rune 是 int32 的别名,在所有方面等同于 int32。按照惯例,它被用来区分字符值和整数值。
type rune rune // Really: type rune = int32 (参见 golang.org/issue/21601)
type string(查看源代码)
string 是8位字节的所有字符串的集合,通常但不一定表示 UTF-8 编码的文本。一个字符串可能是空的,但不是零。字符串类型的值是不可变的。
type string string
type uint(查看源代码)
uint 是一个至少32位大小的无符号整数类型。然而,这是一种独特的类型,而不是 uint32 的别名。
type uint uint
type uint16(查看源代码)
uint16 是所有无符号16位整数的集合。范围:0到65535。
type uint16 uint16
type uint32(查看源代码)
uint32 是所有无符号32位整数的集合。范围:0到4294967295。
type uint32 uint32
type uint64(查看源代码)
uint64 是所有无符号64位整数的集合。范围:0到18446744073709551615。
type uint64 uint64
type uint8(查看源代码)
uint8是所有无符号8位整数的集合。范围:0到255。
type uint8 uint8
type uintptr(查看源代码)
uintptr是一个足以容纳任何指针的位模式的整数类型。
type uintptr uintptr