首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

内置包 | 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(slice []Type, elems ...Type) []Type

追加内置函数将元素追加到切片的末尾。如果它具有足够的容量,目的地就会重新适应新的元素。如果没有,则会分配一个新的基础数组。追加返回更新的切片。因此有必要将追加结果存储在保存片本身的变量中:

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

作为一种特殊情况,将字符串追加到字节片段是合法的,如下所示:

slice = append([]byte("hello "), "world"...)
func cap(v Type) int

cap 内置函数根据其类型返回 v 的容量:

数组:  v 中的元素数目(和 len(v)一样)
指向数组的指针:*v 中的元素数(与 len(v)相同)。
切片: 重新切片时切片可达到的最大长度;
如果v为零,则 cap(v) 为零。
通道:通道缓冲容量,以元素为单位;
如果v为零,则 cap(v) 为零。

func close(c chan<- Type)

关闭的内置函数关闭一个通道,该通道必须是双向的或只发送的。它只能由发送者执行,而不能由接收者执行,并且在收到最后一次发送的值后关闭频道。在从关闭的通道c接收到最后一个值后,从c接收到的任何数据将不会阻塞,返回通道元素的零值。表格

x, ok := <-c

对于一个封闭的路线,也可以设置为 false。

func complex(r, i FloatType) ComplexType

复杂的内置函数从两个浮点值构造一个复数值。实部和虚部必须具有相同的大小,无论是 float32 还是 float64(或可分配给它们),并且返回值将是相应的复杂类型(complex64 代表float32,complex128 代表 float64)。

func copy(dst, src []Type) int

复制内置函数将源片段中的元素复制到目标片段中。(作为一种特殊情况,它也会将字符串中的字节复制到一段字节中)源和目标可能会重叠。复制返回复制的元素数量,这是 len(src)和len(dst) 的最小值。

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

删除内置函数从地图中删除具有指定键 (mkey) 的元素。如果 m 为零或不存在这样的元素,则删除是无操作的。

func imag(c ComplexType) FloatType

图像内置函数返回复数 c 的虚部。返回值将是与 c 类型相对应的浮点类型。

func len(v Type) int

len 内置函数根据其类型返回 v 的长度:

数组:  v 中的元素数目(和 len(v)一样)
指向数组的指针:*v 中的元素数(与 len(v)相同)。
切片,或map: 重新切片时切片可达到的最大长度;
如果v为零,则 cap(v) 为零。
通道:通道缓冲容量,以元素为单位;
如果v为零,则 cap(v) 为零。
func make(t Type, size ...IntegerType) Type

make 内置函数分配并初始化 slice ,map 或 (只是)chan类型的对象。像新的一样,第一个参数是一个类型,而不是一个值。与 new 不同,make 的返回类型与其参数类型相同,而不是指向它的指针。结果的规格取决于类型:

切片:大小指定长度。切片的容量是
等于它的长度。可以提供第二整数参数
指定不同的容量; 它必须不小于
length,所以make([] int,0,10)分配一个长度为0的切片
容量10。
地图:分配一个空地图,有足够的空间来容纳
指定的元素数量。在这种情况下,可以省略尺寸
分配一个小的起始大小。
通道:通道的缓冲区使用指定的初始化
缓冲能力。如果为零,或者省略了大小,则通道为
无缓冲。
func new(Type) *Type

新的内置函数分配内存。第一个参数是一个类型,而不是一个值,返回的值是一个指向该类型的新分配的零值的指针。

func panic(v interface{})

panic 内置函数会停止当前 goroutine 的正常执行。当函数F调用 panic 时,F 的正常执行立即停止。任何由 F 推迟执行的函数都以通常的方式运行,然后 F 返回给它的调用者。对于调用者 G 来说,F 的调用就像调用 panic 一样,终止 G 的执行并运行任何延迟的函数。这种情况会持续下去,直到正在执行的 goroutine 中的所有功能都以相反的顺序停止。此时,程序终止并报告错误情况,包括 panic 的参数值。该终止序列被称为 panicking 并且可以通过内置的功能恢复来控制​​。

func print(args ...Type)

print 内置函数以实现特定的方式格式化其参数,并将结果写入标准错误。print 对引导和调试很有用;它不保证维持语言。

func println(args ...Type)

println 内置函数以实现特定的方式格式化其参数,并将结果写入标准错误。总是在参数之间添加空格,并附加一个换行符。Println 对引导和调试很有用;它不保证维持语言。

func real(c ComplexType) FloatType

real 的内置函数返回复数 c 的实部。返回值将是与 c 类型相对应的浮点类型。

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 仅用于文档目的。它是任何 Go 类型的替身,但对于任何给定的函数调用都表示相同的类型。

type Type int

Type1 仅用于文档目的。它是任何 Go 类型的替身,但对于任何给定的函数调用都表示相同的类型。

type Type1 int

bool 是一组布尔值,true 和 false 。

type bool bool

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

error 内置接口类型是用于表示错误条件的常规接口,其中nil值表示无错误。

type error interface {
        Error() string
}

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

type float32 float32

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

type float64 float64

int 是一个至少32位大小的有符号整数类型。不过,它是一个独特的类型,而不是 int32 的别名。

type int int

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

type int16 int16

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

type int32 int32

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

type int64 int64

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

type int8 int8

rune 是 int32 的别名,在所有方面等同于 int32。按照惯例,它被用来区分字符值和整数值。

type rune rune // Really: type rune = int32 (参见 golang.org/issue/21601)

string 是8位字节的所有字符串的集合,通常但不一定表示 UTF-8 编码的文本。一个字符串可能是空的,但不是零。字符串类型的值是不可变的。

type string string

uint 是一个至少32位大小的无符号整数类型。然而,这是一种独特的类型,而不是 uint32 的别名。

type uint uint

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

type uint16 uint16

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

type uint32 uint32

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

type uint64 uint64

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

type uint8 uint8

uintptr是一个足以容纳任何指针的位模式的整数类型。

type uintptr uintptr

扫码关注腾讯云开发者

领取腾讯云代金券