Go 语言内置函数
1. len():用于获取字符串、数组、切片、map等数据类型的长度。
len("hello world"),输出结果为11。
2. cap():用于获取数组、切片的容量。
cap([]int{1,2,3}),输出结果为3。
3. append():用于在切片尾部添加新元素。
append([]int{1,2,3}, 4),输出结果为[1,2,3,4]。
4. make():用于创建数组、切片、map等类型。
make([]int, 3),输出结果为[0,0,0]。
5. delete():用于删除map中的键值对。
package main import "fmt" func main() { m := make(map[string]int) m["a"] = 1 m["b"] = 2 fmt.Println(m) delete(m, "a") fmt.Println(m) // 输出结果为: // map[a:1 b:2] // map[b:2] }
6. copy():复制一个切片的内容到另一个切片。
package main import "fmt" func main() { s1 := []int{1, 2, 3} s2 := make([]int, 3) copy(s2, s1) fmt.Println(s2) // 输出结果为: // [1 2 3] }
7. recover():函数用于恢复程序的执行。
package main import ( "fmt" ) func main() { defer func() { if err := recover(); err != nil { fmt.Println("Recovered from panic:", err) } }() panic("PANIC") }
该示例代码中,当发生panic时,recover()函数可以捕获错误信息,并打印出“Recovered from panic: PANIC”的信息。
8. new():函数用来分配指定类型的内存空间,并且返回指针。
package main import "fmt" func main() { a := new(int) fmt.Println(*a) }
在该例子中,我们使用new()函数分配内存空间给一个int类型的变量a,并且使用*a来获取它的值,最后输出0。
9.panic():函数用来引发一个恐慌。
package main import "fmt" func main() { a := 10 if a > 5 { panic("a is greater than 5") } fmt.Println("a is lesser than 5") }
在这里当a大于5时,会引发一个恐慌,打印出恐慌信息,并终止程序的执行。
10.close():函数用来关闭一个channel。
package main import "fmt" func main() { c := make(chan int) go func() { c <- 10 close(c) }() for v := range c { fmt.Println(v) } }
这里我们创建了一个channel并使用goroutine往其中发送一个值,然后使用close()函数关闭channel,最后使用for循环读取channel中的值。
11.complex():函数用来创建一个复数。
package main import "fmt" func main() { c1 := complex(5, 7) c2 := 8 + 27i csum := c1 + c2 fmt.Println("sum:", csum) }
这里我们使用complex()函数和直接赋值的方式分别创建两个复数,然后使用加号操作符将两个复数相加,最后输出结果。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。