导读:本期聚焦于小伙伴创作的《Golang内置函数有哪些_Golang常用内置函数速查列表》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《Golang内置函数有哪些_Golang常用内置函数速查列表》有用,将其分享出去将是对创作者最好的鼓励。

Golang的内置函数是语言层面直接提供的工具函数,不需要额外导入包就可以直接使用,覆盖了数组切片操作、类型转换、错误处理、并发控制等多个场景,是日常编码中高频使用的工具。

Golang内置函数有哪些_Golang常用内置函数速查列表

Golang内置函数分类说明

基础操作类内置函数

这类函数主要用于处理基础数据类型和结构的常见操作,使用频率极高。

  • len:用于获取数组、切片、字符串、map、通道等类型的长度或元素个数。对于字符串,返回的是字节数而非字符数。
  • cap:用于获取数组、切片、通道的容量,即在不重新分配内存的情况下最多能容纳的元素数量。
  • append:用于向切片末尾追加元素,如果切片容量不足会自动扩容,返回新的切片。
  • copy:用于将一个切片的元素复制到另一个切片,复制长度取两个切片长度的最小值。

以下是这类函数的使用示例:

package main

import "fmt"

func main() {
    // len函数示例
    str := "hello"
    slice := []int{1, 2, 3}
    fmt.Println(len(str))  // 输出5,字符串字节数
    fmt.Println(len(slice)) // 输出3,切片元素个数

    // cap函数示例
    arr := make([]int, 3, 5)
    fmt.Println(cap(arr)) // 输出5,切片容量

    // append函数示例
    newSlice := append(slice, 4, 5)
    fmt.Println(newSlice) // 输出[1 2 3 4 5]

    // copy函数示例
    src := []int{1, 2, 3}
    dst := make([]int, 2)
    copy(dst, src)
    fmt.Println(dst) // 输出[1 2]
}

内存与类型操作类内置函数

这类函数主要用于内存分配、类型转换和类型判断相关操作。

  • make:用于创建切片、map、通道类型的内建引用类型,会分配内存并初始化对应的结构,返回对应类型的实例。
  • new:用于分配内存,返回对应类型的指针,内存会被初始化为零值,适用于所有类型。
  • delete:用于删除map中指定键对应的键值对,如果键不存在不会报错。
  • complex、real、imag:用于处理复数类型,complex用于创建复数,real获取实部,imag获取虚部。
  • panic、recover:用于错误处理,panic用于抛出运行时异常,recover用于捕获panic异常,通常配合defer使用。

相关使用示例:

package main

import "fmt"

func main() {
    // make函数示例
    slice := make([]int, 3, 5)
    m := make(map[string]int)
    ch := make(chan int, 2)

    // new函数示例
    numPtr := new(int)
    fmt.Println(*numPtr) // 输出0,零值

    // delete函数示例
    m["a"] = 1
    delete(m, "a")
    fmt.Println(m) // 输出map[]

    // 复数操作示例
    c := complex(1, 2)
    fmt.Println(real(c)) // 输出1
    fmt.Println(imag(c)) // 输出2

    // panic和recover示例
    defer func() {
        if err := recover(); err != nil {
            fmt.Println("捕获到异常:", err)
        }
    }()
    panic("测试异常")
}

并发相关内置函数

Golang的并发特性依赖几个内置函数实现。

  • go:用于启动一个新的goroutine,执行对应的函数,实现并发执行。
  • close:用于关闭通道,关闭后的通道不能再进行发送操作,但可以接收剩余元素。
  • select:用于监听多个通道的操作,当其中一个通道就绪时执行对应的分支,类似switch但用于通道操作。

并发相关函数示例:

package main

import (
    "fmt"
    "time"
)

func main() {
    ch := make(chan int, 1)
    // go启动goroutine
    go func() {
        time.Sleep(time.Second)
        ch <- 100
    }()

    // select监听通道
    select {
    case val := <-ch:
        fmt.Println("接收到值:", val)
    case <-time.After(2 * time.Second):
        fmt.Println("超时")
    }

    // 关闭通道
    close(ch)
}

Golang常用内置函数速查列表

下表整理了常用内置函数的名称、作用和使用场景,方便快速查阅:

函数名作用说明适用类型/场景
len获取长度或元素个数数组、切片、字符串、map、通道
cap获取容量数组、切片、通道
append向切片追加元素切片
copy复制切片元素切片
make创建引用类型并初始化切片、map、通道
new分配内存返回指针所有类型
delete删除map键值对map
close关闭通道通道
panic抛出运行时异常错误处理场景
recover捕获panic异常配合defer的错误处理场景
go启动goroutine并发执行函数
select监听多个通道操作多通道并发场景
complex创建复数复数类型操作
real获取复数实部复数类型操作
imag获取复数虚部复数类型操作

内置函数使用注意事项

在使用Golang内置函数时,需要注意以下几点避免出错:

  • append函数每次调用都会返回新的切片,如果原切片还有引用,需要接收返回值才能拿到追加后的结果。
  • delete函数删除不存在的map键不会报错,使用前如果需要判断键是否存在,可以先通过val, ok := m[key]的方式判断。
  • close函数只能关闭通道,不能关闭文件、网络连接等其他资源,且关闭后的通道不能再次发送数据,否则会panic。
  • recover函数只有在defer调用的函数中执行才会生效,直接在其他位置调用无法捕获异常。
  • 使用new分配内存时,返回的是对应类型的指针,如果需要值类型可以直接声明变量,不需要使用new。
内置函数是Golang语言设计简洁性的体现,熟练掌握这些函数的使用,能够大幅减少日常编码的工作量,建议开发者多结合实际场景练习,加深理解。

Golang内置函数appendlenmake修改时间:2026-07-24 06:42:30

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。