Skip to content

buildin func

以下是 Go 语言常用内置函数的整理表格,涵盖了不同类型和用法:

函数功能描述使用示例
len返回对象的长度或元素数量。适用于数组、切片、字符串、映射、通道等。len([3]int{1, 2, 3}) -> 3
len("Hello") -> 5
len(map{"a": 1}) -> 1
cap返回切片、数组、通道或缓冲区的容量。cap([]int{1, 2, 3}) -> 3
cap(make(chan int, 5)) -> 5
append向切片追加元素。若切片的容量不足,会自动扩容。append([]int{1, 2}, 3, 4) -> [1, 2, 3, 4]
copy将一个切片的元素复制到另一个切片中。返回实际复制的元素数量。copy(dst, src) -> 复制元素个数,dst 被修改为 src 的内容
new分配内存并返回指向新分配内存的指针。通常用于创建零值初始化的对象。p := new(int) -> 创建一个指向整数的指针,默认值为 0
make创建并初始化切片、映射或通道。返回对象类型。make([]int, 5) -> 创建长度为 5 的切片,默认值为 0
panic触发一个运行时错误。用于异常处理。panic("Something went wrong!") -> 触发运行时错误并终止程序
recover恢复从 panic 引发的错误,用于恢复程序的正常执行。defer func() { if r := recover(); r != nil { fmt.Println("Recovered:", r) } }()
print内部调试输出。print("Hello, world!")
println内部调试输出(带换行)。println("Hello, world!")

备注:

  • len:用于获取切片、数组、字符串、映射和通道的元素个数或大小。
  • cap:返回切片、数组和通道的容量,表示它们可以容纳的元素数量。
  • append:用于向切片中追加一个或多个元素。如果切片容量不够,会自动扩容。
  • copy:将源切片的元素复制到目标切片,并返回复制的元素数量。
  • new:为指定类型分配内存并返回指向该内存的指针,返回的对象的值是类型的零值。
  • make:专门用于创建切片、映射和通道并初始化它们,返回初始化后的对象。
  • panic:触发程序的运行时异常,用于表示严重错误,导致程序终止。
  • recover:用于在发生 panic 后恢复程序,防止程序崩溃。
  • printprintln:内部调试函数,类似于 fmt.Printfmt.Println,用于快速输出调试信息。