Go语言内置函数无需导入,由编译器直接支持,用于类型操作、内存管理与运行时控制。1. make用于创建slice、map、channel并返回初始化值;2. new为任意类型分配零值内存并返回指针;3. len返回数组、slice、string、map、channel的元素个数,其中对string返回rune数;4. cap仅适用于slice和channel,返回容量;5. panic触发运行时恐慌,recover在defer中捕获panic以恢复执行;6. print/println为底层调试输出,生产环境禁用;7. copy将源slice复制到目标slice,返回实际复制元素数,需显式赋值结果;8. append向slice追加元素并自动扩容,返回新slice,原变量不变;9. complex构造复数,real和imag提取复数实部与虚部;10. delete从map中删除指定key,无副作用。这些函数不可重定义,总数不足20个,掌握其细节可提升代码安全性与地道性。

Go 语言没有传统意义上的“内置函数库”,但提供了一组编译器直接支持、无需导入即可使用的内置函数(built-in functions)。它们不是标准库的一部分,不属任何包,也不能被用户重定义。掌握这些函数对写出简洁、高效、符合 Go 风格的代码非常关键。
Go 是强类型语言,类型转换必须显式进行。内置函数 make、new、cap、len、unsafe.Sizeof(虽在 unsafe 包中,但行为类似内置)常用于操作复合类型:
make(T, args):仅用于创建 slice、map、channel,返回初始化后的值(非指针),如 make([]int, 5)、make(map[string]int)
new(T):为任意类型分配零值内存,返回指向该值的指针,如 new(int) 返回 *int 指向 0
len(v):返回数组、slice、string、map、channel 的长度(元素个数或缓冲区容量)cap(v):返回 slice 或 channel 的容量;对数组和 string 调用会编译报错Go 主张显式错误处理,但内置函数 panic、recover、print/println 提供底层调试与异常恢复能力:
panic(v interface{}):触发运行时恐慌,终止当前 goroutine(除非被 recover 捕获)recover() interface{}:仅在 defer 函数中有效,用于捕获 panic 并恢复执行,返回 panic 值或 nil
print / println:底层调试输出,不格式化、不刷缓冲、无换行控制,**生产环境禁用**,仅限调试时快速查看值Go 支持反射和接口机制,但以下内置函数用于运行时函数/方法调用的底层支持:
立即学习“go语言免费学习笔记(深入)”;
copy(dst, src []T) int:将 src 中元素复制到 dst,返回实际复制的元素数;dst 长度决定上限,src 超出部分被忽略append(slice []T, elems ...T) []T:向 slice 追加元素,自动扩容;返回新 slice(可能指向新底层数组)注意:copy 和 append 是最常误用的内置函数——它们不修改原 slice 变量,而是返回新 slice,必须显式赋值,例如:s = append(s, x)、n = copy(dst, src)。
还有几个小而重要的函数,日常编码中高频出现:
complex(real, imag floatT) complexT:构造复数,如 complex(3, 4) → 3+4i
real(c complexT) floatT / imag(c complexT) floatT:分别提取复数的实部与虚部delete(m map[K]V, key K):从 map 中删除指定 key;若 key 不存在,无副作用(不 panic)注意:delete 是唯一能修改 map 内容的内置函数(make 创建的是新 map,不修改旧变量)。
基本上就这些——Go 的内置函数总共不到 20 个,设计克制,聚焦内存管理、类型操作与运行时控制。不复杂但容易忽略细节,比如 len 对 string 返回 Unicode 字符数(rune 数),而 len([]byte(s)) 才是字节数。用对它们,代码更地道、更安全。
以上就是Golang内置函数有哪些_Golang常用内置函数速查列表的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号