golang笔记-4-函数
定义
结构化最小模块单元,将复杂的算法过程分解为若干个较小任务,这些认为可在多处复用。
函数是一等公民
- 无须前置声明。(未解其意,何谓“前置声明”)
- 不支持命名嵌套定义。(未解其意,何谓“命名嵌套定义”)
- 不支持同名函数重载。
- 不支持默认参数。(哪些语言的函数有默认参数,未解其意)
- 支持不定长变参。
- 支持多返回值。
- 支持命名返回值。
- 支持匿名函数与闭包
|
|
函数只能判断是否为nil,不能判断其他
|
|
参数
- 无论是指针、引用类型还是其他类型参数,都是值传递。区别无非是拷贝目标对象还是拷贝指针。在函数内对参数进行操作,都不会影响原值。
- 在函数调用前,会为形参和返回值分配内存空间,并将实参拷贝到形参的内存上。
变参
变参实际上是一个切片。只能接收同类型参数