Golang 提供了一些内建函数,这些函数可以直接使用,无需额外的包导入。以下是一些常见的 Golang 内建函数:
len
:用于获取数组、切片、字符串、Map 的长度。
str := "Hello, World!"
length := len(str)
fmt.Println(length) // 输出:13
cap
:用于获取数组、切片、Map、channel 的容量。
slice := make([]int, 10)
capacity := cap(slice)
fmt.Println(capacity) // 输出:10
new
和make
:new
用于分配内存,返回类型的指针;make
用于内存分配并初始化,返回初始化后的(引用)类型值。
// new
p := new(int)
fmt.Println(*p) // 输出:0
// make
s := make([]int, 10)
fmt.Println(s) // 输出:[0 0 0 0 0 0 0 0 0 0]
append
:用于添加元素到数组、切片中。
slice := []string{"Hello", "World"}
slice = append(slice, "!" )
fmt.Println(slice) // 输出:[Hello World !]
copy
:用于复制数组、切片中的元素。
src := []int{1, 2, 3, 4, 5}
dst := []int{10, 20, 30, 40, 50}
n := copy(dst, src)
fmt.Println(n) // 输出:5
fmt.Println(dst) // 输出:[1 2 3 4 5]
delete
:用于从 Map 中删除键值对。
m := map[string]int{"one": 1, "two": 2}
delete(m, "one")
fmt.Println(m) // 输出:map[two:2]
panic
和recover
:panic
用于引发一个异常,recover
用于恢复程序的正常运行。
func main() {
defer func() {
if r := recover(); r != nil {
fmt.Print("Recovered in main", r)
}
}()
panic("crash")
}
print
和println
:用于打印输出。
print("Hello, ")
println("World!") // 输出:Hello, World!
real
和imag
:用于获取复数的实部和虚部。
c := 3.14 + 1.23i
realPart := real(c)
imagPart := imag(c)
fmt.Println(realPart) // 输出:3.14
fmt.Println(imagPart) // 输出:1.23
close
:用于关闭 channel。
c := make(chan int)
go func() {
c <- 1
}()
close(c)
这些内建函数提供了 Golang 编程的基本功能,可以根据需要选择使用。