Golang设计者为了编程方便,提供了一些函数,这些函数可以直接使用,我们称为Go的内置函数。文档:https://studygolang.com/pkgdoc -> builtin
1)len:用来求长度,比如string、array、slice、map、channel
2)new:用来分配内存,主要用来分配值类型,比如int、float32, struct...返回的是指针
举例说明new的使用:
func main() {
num1 := 100
fmt.Printf("num1的类型%T, num1的值=%v, num1的地址%v
", num1, num1, &num1)
num2 := new(int) // *int
//num2的类型%T => *int
//num2的值 = 地址 0xc0420520a0 (这个地址是系统分配)
//num2的地址%v = 地址 0xc042072020 (这个地址是系统分配)
//num2指向的值 = 0
//操作更改num2的值的话, *num2 = 100
fmt.Printf("num2的类型%T, num2的值=%v, num2的地址%v, num2是一个指针,指向的值=%v
", num2, num2, &num2, *num2)
}
内存示意图:
3)make:用来分配内存,主要用来分配引用类型,比如channel、map、slice。这个在后面章节会详解介绍。