Go 语言内置函数

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()函数和直接赋值的方式分别创建两个复数,然后使用加号操作符将两个复数相加,最后输出结果。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。